建立帶有GRUB2引導啟動的磁盤映像檔案
-
- 1、使用bximage或dd指令建立磁盤映像檔案
- 2、使用fdisk工具建立分區
- 3、使用losetup映射磁盤映像檔案
- 4、分區格式化
- 5、挂載分區
- 6、安裝GRUB2
- 7、解除安裝分區
- 8、斷開映射
1、使用bximage或dd指令建立磁盤映像檔案
bximage hd.img
或
dd if=/dev/zero of=hd.img bs=512 count=20480
- 需要注意的是,如果是用dd指令建立磁盤映像檔案,扇區數目通過count選項設定,需采用适當的大小。
2、使用fdisk工具建立分區
fdisk hd.img
- 為了後面友善操作,不需要使用sudo執行這條指令。
3、使用losetup映射磁盤映像檔案
sudo losetup -P /dev/loop6 hd.img
- 回環裝置/dev/loop6中可能并非是閑置的,需要按照系統運作的實際情況選擇一個恰當的,如果所有已存在的回環裝置均已被占用,需要自行建立一個回環裝置。相應的,下文中提到的回環裝置loop6也要更改為對應的loop*。
- 參數-P 是要求losetup映射分區。
4、分區格式化
sudo mkfs.msdos /dev/loop6p1
- 不一定非要格式化為fat12、fat16、fat32、ntfs等磁盤分區,ext*也是可以的。
- 順便提議下,使用mkfs.msdos、mkfs.fat、mkfs.vfat等工具格式化分區時都執行同樣的操作,使用哪個都是一樣的。但是,格式化不同大小的分區,得到的磁盤分區卻是不同的(有fat12、fat16、fat32)。
5、挂載分區
sudo mount /dev/loop6p1 /mnt/vdisk/p1
- 為了友善管理,已在檔案系統中建立了需要的各個路徑與目錄(比如/mnt/vdisk/p1),以下再不解釋。
6、安裝GRUB2
sudo grub-install --boot-directory=/mnt/vdisk/p1 --target=i386-pc /dev/loop6
- –boot-directory選項指定GRUB2檔案的安裝位置
- –target選項指定GRUB2的安裝目标
- /dev/loop6訓示GRUB2程式被安裝在回環裝置/dev/loop6,此程式的二進制代碼被寫入到磁盤前N個扇區中,不屬于任何的分區,與–boot-directory選項指定的GRUB2檔案安裝位置不同。
- 在安裝過程中會提示“正在為 i386-pc 平台進行安裝。”。如果安裝成功,則會提示“安裝完成。沒有報告錯誤。”,如下圖。如果存在其他提示,則有可能出現了别的問題,需要具體分析具體解決。
7、解除安裝分區
sudo umount /mnt/vdisk/p1
- 如果在控制台或檔案管理器,再或者别的工具軟體中打開了挂載點的目錄,則該指令執行失敗,提示“umount: /mnt/vdisk/p1: target is busy.”。關閉這些程式後,再執行即可。
8、斷開映射
sudo losetup -d /dev/loop6
- -d選項訓示losetup工具斷開對應的回環裝置。