Linux

可以使用 Linux 實用程序創建 Windows 10 安裝介質 (USB)?

  • August 31, 2020

問題:舊版/BIOS 系統上的 Linux 使用者希望將 Windows 10 與 Linux 一起安裝(在真實硬體上,而不是在 VM 中)。假設已經解決了諸如分區硬碟驅動器以為 Windows 創建空間的準備問題。還假設沒有可用的 CD/DVD 驅動器。如何僅使用 Linux 下可用的實用程序來創建 Windows 10 安裝介質?

可以從 Microsoft 下載 Windows 10 iso,這看起來是一個好的開始。我認為在所描述的情況下使用該 iso 做某事的最簡單方法是將其 dd 到 USB 驅動器:dd if=/path/to/Win10.iso of=/path/to/USB/drive/我還沒有嘗試過,但認為它可能會像宣傳的那樣工作。但是還有其他選擇嗎?

例如這個頁面https://ckirbach.wordpress.com/2016/10/24/how-to-create-a-windows-10-usb-installation-media-on-linux/表示掛載iso鏡像並複制將其內容儲存到 NTFS 格式的 USB 驅動器中,該驅動器已使用 syslinux 進行引導,也可以使用。然而,儘管我最近創建了一些 syslinux-bootable USB 驅動器並且非常了解如何執行此操作,但那裡描述的過程對我不起作用。這並不是因為 USB 驅動器不可啟動:相反,在我看來它不起作用,因為 syslinux 無法在從循環安裝的 Windows 10 iso 複製的文件中找到可啟動的東西(該頁面不去在我看來是一個關鍵的步驟——創建一個 syslinux 配置文件)。

也可以使用 syslinux 的 memdisk 從 USB 驅動器啟動 Windows 10 iso。只需使用 syslinux 使驅動器可引導,將 iso 複製到其中,然後創建一個適當的 syslinux.cfg,將 iso 列為引導項。就像是:

LABEL some_label LINUX memdisk INITRD /path/to/image.iso APPEND iso raw

我也嘗試過,但也沒有成功(“錯誤的文件號”)。我想這可能是最不可能成功的方法,因為根據過去的經驗,我知道某些 iso 根本無法通過 memdisk 引導。

完成此任務的輸入將不勝感激。

PS 我無權訪問任何已安裝的 Windows 環境,因此未徵求對涉及 Windows 實用程序的完成此任務的方法的描述。

在 GNU/Linux 下生產有效的 Windows 10 安裝媒體的最輕鬆的解決方案是使用 woeusb 實用程序。圖形變體因錯誤而中止,但命令行版本最終使我能夠製作一個可以啟動到 Windows 10 安裝環境的 U 盤。我不確定我偶爾能夠啟動到 Windows 環境的目標是否可行,因為我發現微軟的許多壟斷傾向仍然很明顯(無法將作業系統安裝到可移動媒體,安裝將覆蓋它自己安裝到的驅動器上可能存在的任何引導載入程序等)。但我至少發現了一種完成我在 OP 中詢問的任務的方法。這個連結https://www.addictivetips.com/ubuntu-linux-tips/make-windows-usb-drive-on-linux-woeusb/很好地概述了這個過程。

事後諸葛亮。woeusb 解決方案有點像“黑盒”解決方案——這意味著,該項目不是解釋如何讓可啟動的 Windows 10 安裝 USB 記憶棒,而是通過提供實用程序為您自動執行該過程。我想當涉及與 eptiome all blackbox 軟體 Windows 作業系統介面的軟體時,這是可以預料的。也就是說,我希望看到一些解釋 woeusb 實現這一目標的策略的文件。

從 woeusb 生產的 USB 驅動器啟動後,很明顯他們使用了 GRUB 引導載入程序。對 USB 驅動器的進一步檢查表明,該項目使用了與我在上面連結的那個類似的方法,並且使用了 syslinux。換句話說,該實用程序顯然會掛載 Windows 10 iso 並將文件複製到 USB。grub.conf 文件如下所示:

echo '------------------------------------' echo '| Windows USB - Loading... |' echo '------------------------------------' insmod fat search --no-floppy --fs-uuid BE49-9C0A --set root ntldr /bootmgr echo -n "Press ENTER to continue booting..." read key_holder boot

該實用程序將 FAT 文件系統放在 U 盤上,使驅動器可使用 GRUB 啟動,並將文件從 Windows 10 安裝 iso 複製到其中。從 GRUB 配置文件來看,它似乎在引導過程的最開始就載入了 FAT 核心模組。然後它通過 uuid 定位到 U 盤,並將其設置為根文件系統。包含 ntldr 的行應該很容易適應 syslinux,它具有相同的開關,可以指向 USB 驅動器上的 bootmgr 文件。我不知道為什麼需要額外的按鍵才能啟動到安裝媒體。

無論如何,至少有一些關於 woeusb 實用程序如何完成創建引導至 Windows 10 安裝環境的 USB 驅動器的任務的文件。也許對於希望嘗試我最初追求的 syslinux 解決方案的人以及在 OP 中提供的連結中詳細說明的完成過程的一部分的人會有所幫助?

最後,我會注意到,根據我所做的一些進一步搜尋,從 USB 驅動器啟動 Windows 10 作業系統的唯一方法需要從已安裝的 Windows 系統中創建所述 USB。這是一個涉及下載 Windows Media Creation Tool 的多步驟過程。那是用來準備一個新的iso的。最後一步似乎是下載並使用實用程序 WintoUSB 將準備好的 iso 放入 USB 驅動器。額外的麻煩似乎並沒有就此結束,因為似乎“每次在不同的 PC 上使用 USB 驅動器時,您都需要啟動 Windows 10。” 在https://www.pcmag.com/article/352209/how-to-run-windows-10-from-a-usb-drive上查看該過程的完整概要

還不確定我是否會繼續這個項目,因為完成我的目標所涉及的所有麻煩(手頭有一個 Windows 環境,我有時可以啟動它以執行 root 等操作Android 設備)事情正在達到收益遞減的地步。YMMV。

引用自:https://unix.stackexchange.com/questions/398471