2011-03-21 123 views
3

是否可以從USB磁盤掛載ISO映像並在啓動時將其用作文件系統(使用grub)?我問這是因爲我想將內核linux鏡像和ISO用作文件系統(使用fedora bootstrap)插入USB磁盤(不創建新分區等),因爲可以使用Qemu , 例如。在啓動時從USB掛載ISO映像

回答

1

Qemu是一個虛擬化/仿真環境。 Grub是一個引導程序,用於將內核加載到內存中並啓動它執行。這兩個程序都與你的問題沒有直接關係,儘管你當然可以使用Qemu來執行一個使用Grub啓動Linux來執行你想要的操作的虛擬機。

現代Linux發行版創建一個initrd,引導加載程序將該引導程序放入內存,以便內核用作其初始根文件系統。 initrd執行諸如加載訪問實際根文件系統所在的硬盤所必需的模塊。在你的情況下,你應該看看讓initrd找到你的ISO,掛載它,並將其用作根。

根據您使用的發行版,initrd的內容會有所不同。我會從某個地方抓住livecd,將其initrd的內容轉儲到zcat /boot/initrd-2.6.whatever.img | cpio -id,並查看它正在做什麼。查找init文件,這將是內核運行的第一個用戶空間進程。

0

Grub的環回功能應該允許您從ISO映像中引導內核和initrd。不幸的是,沒有辦法允許內核將根環境設備安裝爲根文件系統,所以我認爲你運氣不好。