標籤:
如何在linux下製作一個windows的可啟動u盤?
情景是這樣的,有一個windows10的iso,現在想通過隨身碟安裝,要求即支援UEFI(啟動引導器),又支援Legacy(啟動引導器),因為有一些老的機器是不支援UEFI的。
那現在分析一下情況:
1 windows10的iso本來就是支援UEFI的,你只要將iso的內容拷貝到隨身碟的分區內,在開機啟動時按某個功能鍵(好些機器是F12鍵)會出現選擇啟動方式和啟動盤的頁面。你只要選擇UEFI啟動你的隨身碟就可以。
2 要支援Legacy,那要一個引導程式了,現在流行的是grub2。那要做的就是產生grub的設定檔grub.cfg了,將grub寫入MBR。將grub寫入MBR通過命令grub-install實現,grub的設定檔就要靠手寫了。
現在說一下技術規格:
1 建議u盤的磁碟標籤是msdos,因為gpt標籤的磁碟需要一個專門的開機磁碟分割來配合grub2的工作。這個沒實驗過,不推薦給大家。
2 分區格式,建議使用ntfs分區。分區大小隻要比你的iso大就可以了。
3 分區的開始,建議空出來磁碟開始的2M空間,從2M後開始分區。
現在說一下實現:
以下假設iso的檔案名稱字是win10.iso,u盤裝置為/dev/sdb
使用fdisk和parted命令都可以查看磁碟標籤。linux下對ntfs的格式化可能需要另外自己找工具。在這裡不做建議。
1 掛載iso,將iso內所有的檔案拷貝到u盤分區內。
mkdir iso
mount win10.iso iso
cp -r iso/* /dev/sdb1
2 執行grub-install
grub-install --target=i386-pc --boot-directory=iso/boot /dev/sdb
3 手寫grub.cfg 將如下的 grub.cfg 檔案放入 iso/boot/grub/
# grub.cfg
menuentry "Install Windows 10" {
set root= hd(0,1)
chainloader +1
}
如何在linux下製作一個windows的可啟動u盤?