如何在linux下制作一個windows的可啟動u盤?


如何在linux下制作一個windows的可啟動u盤?

情景是這樣的,有一個windows10的iso,現在想通過U盤安裝,要求即支持UEFI(啟動引導器),又支持Legacy(啟動引導器),因為有一些老的機器是不支持UEFI的。

那現在分析一下情況:

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

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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM