如何在linux下製做一個windows的可啓動u盤?

如何在linux下製做一個windows的可啓動u盤?linux

情景是這樣的,有一個windows10的iso,如今想經過U盤安裝,要求即支持UEFI(啓動引導器),又支持Legacy(啓動引導器),由於有一些老的機器是不支持UEFI的。windows

那如今分析一下狀況:工具

1 windows10的iso原本就是支持UEFI的,你只要將iso的內容拷貝到U盤的分區內,在開機啓動時按某個功能鍵(好些機器是F12鍵)會出現選擇啓動方式和啓動盤的頁面。你只要選擇UEFI啓動你的U盤就能夠。get

2 要支持Legacy,那要一個引導程序了,如今流行的是grub2。那要作的就是生成grub的配置文件grub.cfg了,將grub寫入MBR。將grub寫入MBR經過命令grub-install實現,grub的配置文件就要靠手寫了。配置

如今說一下技術規格:程序

1 建議u盤的磁盤標籤是msdos,由於gpt標籤的磁盤須要一個專門的啓動分區來配合grub2的工做。這個沒試驗過,不推薦給你們。技術

2 分區格式,建議使用ntfs分區。分區大小隻要比你的iso大就能夠了。配置文件

3 分區的開始,建議空出來磁盤開始的2M空間,從2M後開始分區。windows10

如今說一下實現:db

如下假設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
}
相關文章
相關標籤/搜索