สร้างไดรฟ์ Windows 10 USB (UEFI) ที่สามารถบู๊ตได้จาก Linux


24

ฉันจะสร้างไดรฟ์ USB Windows 10 ที่สามารถบู๊ตได้จาก Linux ได้อย่างไร

โปรดทราบ:

  • WinUSB ไม่ทำงานกับ Windows 10
  • UNetbootin ไม่ทำงานเช่นกัน
  • dd วิธีการไม่ทำงานเช่นกัน

นอกจากนี้ฉันได้ลองสร้างตารางพาร์ติชัน GPT และพาร์ติชันประเภท ef00 หนึ่งรูปแบบและจัดรูปแบบเป็น fat32 แล้วคัดลอกเนื้อหา ISO ทั้งหมดไปไว้ มันบูทโอเค แต่เมื่อฉันไปเพื่อเริ่มการติดตั้งมันจะแสดงข้อความแจ้งสำหรับกล่องโต้ตอบสื่อ

ปรับปรุง

ลองอีกครั้ง:

  1. สร้าง GPT แล้ว
  2. สร้าง FAT32 ที่ส่วนท้ายของไดรฟ์ 50 MB
  3. สร้าง NTFS ที่พื้นที่ที่เหลือ
  4. ใส่ UEFI: NTFS บน FAT32
  5. คัดลอกเนื้อหา ISO ไปยัง NTFS

การติดตั้งเริ่มต้นขึ้น แต่เมื่อเริ่มต้นแสดงความผิดพลาด 0xc0000005 (ถ้าฉันจำได้อย่างถูกต้อง)


ฉันคิดว่ามันควรจะจัดรูปแบบ NTFS ... (คุณเป็นคนที่ถามเรื่องนี้ใน Reddit btw ด้วยหรือเปล่า?)
อเล็กซ์

@Alex ไม่ใช่ไม่ใช่ฉัน ... และไม่ใช่ UEFI สามารถบูตได้เฉพาะจาก FAT32 เท่านั้น!
Victor Aurélio

คุณแก้ไขร้าน BCD แล้วหรือยัง
fpmurphy

@ fpmurphy1 ไม่ได้ทำอย่างไร?
Victor Aurélio

1
"ใส่ UEFI: NTFS บน FAT32" หมายความว่าอะไร
ฟิลิปป์ลุดวิก

คำตอบ:


7

คุณทำถูกต้องทั้งหมด ทำตาราง gpt ด้วย fat32 และคัดลอกข้อมูลทั้งหมดจาก iso ลงไป แต่คุณต้องตั้งค่าสถานะ "msftdata" (ไม่ใช่ "boot") ในพาร์ติชันนี้ด้วยเช่นแยก


1
สำหรับผู้ที่ใช้ gdisk: แทนที่จะef00สร้าง0700พาร์ติชันสร้าง
Victor Aurélio

ตั้งค่าสถานะ "msftdata" (ไม่ใช่ "boot") ขอบคุณ @Fetetj คุณช่วยชีวิตฉันได้อย่างไร
gpanda

คุณไม่สามารถใส่ข้อมูลทั้งหมดลงในไดรฟ์ FAT32 ตั้งแต่เดือนมิถุนายน 2019 การอัพเดทล่าสุดมีข้อมูลwindows.wimที่มีขนาดใหญ่กว่า 4.1 GiB
เบ็น

8

คำแนะนำในการเตรียม Windows 10 ตุลาคม 2018 ปล่อย UEFI ไดรฟ์ USB ที่สามารถบู๊ตได้บนการกระจาย Linux

แจ้งให้ทราบว่า Windows 10 ตุลาคม 2018 มีการเปิดตัวการติดตั้งไฟล์sources/install.wimขนาดใหญ่กว่าสูงสุดFAT32ขนาดไฟล์ดังนั้นเราจะจัดรูปแบบไดรฟ์ USB NTFSที่จะ ตัวติดตั้ง Windows ยังไม่สามารถทำงานกับพาร์ติชัน EFI (รหัสef00) ดังนั้นเราจะใช้Microsoft basic dataประเภทพาร์ติชัน (รหัส0700)

ขั้นตอนในการสร้างไดรฟ์ USB ด้วยชื่อ/dev/sdc( แทนที่คำสั่งทั้งหมดด้วยชื่ออุปกรณ์ของคุณ! ):

  1. ใส่ไดรฟ์ USB เข้ากับคอมพิวเตอร์และตรวจสอบให้แน่ใจว่าไม่ได้ต่อเชื่อม บางดิสทริบิวชันต้องการเชื่อมต่อไดรฟ์ USB โดยอัตโนมัติดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณได้ยกเลิกการต่อเชื่อม พาร์ติชันที่ติดตั้งสามารถพบได้mount -l | grep '/dev/sdc'แล้วยกเลิกการต่อเชื่อมกับsudo umount /dev/sdcX(X คือหมายเลขพาร์ติชัน)
  2. เปิดอุปกรณ์ USB block โดยใช้gdisk /dev/sdcกำหนดค่าGPTและสร้างMicrosoft basic dataพาร์ติชัน (รหัส0700) จากนั้นเขียนการเปลี่ยนแปลงและออก ( ขั้นตอนต่อไปจะทำลายตารางพาร์ติชันในไดรฟ์ USB ของคุณ !!! )
sudo gdisk /dev/sdc
o
> This option deletes all partitions and creates a new protective MBR.
> Proceed? (Y/N): y
n
> Partition number ... > hit Enter
> First sector ... : > hit Enter
> Last sector ... : > hit Enter
> Current type is 'Linux filesystem'
> Hex code or GUID (L to show codes, Enter = 8300): 0700
p
> Should print something like:
> Disk /dev/sdc: 15646720 sectors, 7.5 GiB
> Model: DataTraveler 160
> Sector size (logical/physical): 512/512 bytes
> Disk identifier (GUID): ...
> Partition table holds up to 128 entries
> Main partition table begins at sector 2 and ends at sector 33
> First usable sector is 34, last usable sector is 15646686
> Partitions will be aligned on 2048-sector boundaries
> Total free space is 2014 sectors (1007.0 KiB)
> Number  Start (sector)    End (sector)  Size       Code  Name
>    1            2048        15646686   7.5 GiB     0700  Microsoft basic data
w
> Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
> Do you want to proceed? (Y/N): y
q
  1. ฟอร์แมตพาร์ติชันใหม่เป็น NTFS:
sudo mkfs.ntfs /dev/sdc1
  1. เมานต์พาร์ติชั่น USB ใหม่ไปยังไดเรกทอรีชั่วคราวในบ้านของคุณ:
mkdir ~/tmp-win10-usb-drive
sudo mount /dev/sdc1 ~/tmp-win10-usb-drive
  1. ดาวน์โหลด ISO การติดตั้ง Windows สร้างไดเรกทอรีชั่วคราวใหม่ในบ้านของคุณและติดตั้งที่นั่น:
mkdir ~/tmp-win10-iso-mnt
sudo mount Win10_1809Oct_English_x64.iso ~/tmp-win10-iso-mnt
  1. คัดลอกไฟล์ทั้งหมดจาก ISO ที่ติดตั้งไปยังไดรฟ์ USB (คุณสามารถใช้rsyncเพื่อดูความคืบหน้า):
sudo cp -rT ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. ถอนติดตั้งไดรฟ์ Windows ISO และ USB และลบไดเรกทอรีชั่วคราว:
sudo umount ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
rmdir ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. ใส่ไดรฟ์ USB เข้ากับคอมพิวเตอร์เครื่องใหม่แล้วบูตจากนั้น

2
เฟิร์มแวร์บางตัวไม่ตรวจสอบไฟล์บู๊ตในพาร์ติชัน NTFS บางคนแก้ไขให้ฉันถ้าฉันผิด
Victor Aurélio

คุณสามารถบีบอัด install.wim ให้เล็กกว่า 4GB โดยใช้ระดับการบีบอัด "wimtools" และ "solid" วิธีนี้คุณสามารถใช้ FAT32 ดูtqdev.com/2019-cannot-copy-windows-10-install-wim
mevdschee

คุณสามารถเร่งความเร็วการจัดรูปแบบแท่งได้อย่างมีนัยสำคัญเมื่อคุณข้ามการเติมด้วยศูนย์ก่อน: sudo mkfs.ntfs -Q / dev / sdc1
Robert

3

ฉันใช้woeusbบน Ubuntu ด้วยวิธีต่อไปนี้ ( คำเตือน: นี่จะเขียนทับตารางพาร์ติชั่นทั้งหมดของคุณ! ):

sudo woeusb --tgt-fs NTFS --device Win10_1809Oct_Hungarian_x64.iso /dev/sdc

หากคุณพบข้อความแสดงข้อผิดพลาดนี้:

พาร์ติชั่นยังคงถูกตรวจจับหลังจากเช็ดลายเซ็นทั้งหมดแสดงว่าไดร์ฟอาจถูกล็อคเข้าสู่โหมดอ่านอย่างเดียวเนื่องจากสิ้นสุดอายุการใช้งาน

ทำต่อไปนี้: sudo fdisk /dev/sdcและเลือกและแล้วในที่สุดdw

(ที่มา: https://github.com/slacka/WoeUSB/issues/219 .) หลังจากนี้ลองอีกครั้งเพื่อเรียกใช้คำสั่งด้านบน

อย่างไรก็ตามด้วยวิธีนี้ woeusb สร้างตารางพาร์ทิชันgpt ที่มีสองพาร์ทิชัน:

partition      file system    label          size          flags
----------------------------------------------------------------
/dev/sdc1      nfts           Windows USB     57.00 GiB
/dev/sdc2      fat16          UEFI_NTFS      512.00 KiB    lba
unallocated                                    4.00 MiB

ในที่สุดสิ่งที่ฉันต้องทำคือใส่แฟล็กการบูตด้วย gparted สำหรับพาร์ติชัน / dev / sdc2 (ข้าง lba)

วิธีนี้ฉันสามารถบูตในโหมด UEFI และติดตั้ง Windows 10 จากแท่ง USB ของฉันได้สำเร็จ


แสดงความคิดเห็นเพียงเพื่อเตือนตัวเองให้ upvote หากการทำงาน
Guy บราซิลคนนั้น

2

ลองใช้Rufusกับไวน์

ความนับถือ.


2
นี่ไม่ใช่โซลูชัน "linux"
Victor Aurélio

1
แต่มันใช้ได้ดี
aalf1987

รูฟัสเป็นโอเพ่นซอร์ส รวดเร็วมีประสิทธิภาพใช้งานได้บน Linux ขอบคุณ!
akhmed

0

พาร์ติชัน EFI ต้องเป็น Fat32 มันอยู่ในข้อมูลจำเพาะของ EFI ระบบของคุณจะไม่บู๊ตหากคุณวางไฟล์ตัวติดตั้งลงในพาร์ติชั่น NTFS

คุณไม่จำเป็นต้องมีซอฟต์แวร์พิเศษ GPT / FAT32 สำหรับตัวติดตั้งแยกไฟล์ทั้งหมดออกจาก iso (ฉันถือว่าคุณมี iso ล่าสุดโดยใช้เครื่องมือการสร้างสื่อเพราะมันรวมถึงการอัพเดทเดือนพฤศจิกายน) และตั้งค่า "boot flag" โดยใช้ gparted จากนั้นจะบูตเข้าสู่ตัวติดตั้งในโหมด EFI สมมติว่าคุณเลือก EFI USB จากตัวเลือกการบูตเมื่อคอมพิวเตอร์ของคุณเริ่มทำงาน

pingers


ปัญหาคือในไม่ช้าเมื่อตัวติดตั้งเริ่มกระบวนการที่เกิดข้อผิดพลาดตามที่อธิบายไว้ในคำถาม
Victor Aurélio

คุณได้ลองกับ iso อื่นหรือไม่? ฉันจะสงสัยแหล่งที่มาของฉัน หยิบอันล่าสุดตามที่อธิบายไว้ในคำตอบของฉัน หากคุณบูตด้วยที่อยู่บน usb ของคุณและคุณยังคงได้รับข้อผิดพลาดฉันจะเริ่มถามฮาร์ดแวร์ ...
Pingers

ใช่ฉันได้พยายามมันมากเกินไป ...
วิคเตอร์Aurélio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.