Buat drive USB 10 Windows bootable (UEFI) dari Linux

24

Bagaimana saya bisa membuat drive USB 10 Windows bootable dari Linux?

Tolong dicatat:

  • WinUSB tidak bekerja dengan Windows 10.
  • UNetbootin juga tidak berfungsi.
  • dd Metode tidak bekerja dengan baik.

Selain itu, saya sudah mencoba membuat tabel partisi GPT dan satu partisi dengan tipe ef00 dan diformat sebagai FAT32, dan kemudian menyalin semua konten ISO ke dalamnya. Itu boot OK, tetapi ketika saya pergi untuk memulai instalasi itu menunjukkan prompt untuk dialog media.

Memperbarui

Usaha lain:

  1. Membuat GPT
  2. Dibuat FAT32 di akhir drive 50 MB
  3. Dibuat NTFS di ruang yang tersisa
  4. Masukan UEFI: NTFS pada FAT32
  5. Konten ISO yang disalin ke NTFS

Instalasi dimulai ok, tetapi pada awal kemajuan menunjukkan kesalahan 0xc0000005 (jika saya ingat dengan benar).

Victor Aurélio
sumber
Saya pikir itu harus diformat NTFS ... (apakah Anda orang yang meminta ini pada reddit juga btw?)
Alex
@Alex, bukan, bukan saya ... dan tidak, UEFI hanya bisa boot dari FAT32!
Victor Aurélio
Apakah Anda memperbaiki toko BCD?
fpmurphy
@ fpmurphy1 tidak, bagaimana melakukannya?
Victor Aurélio
1
Apa yang dimaksud dengan "Masukan UEFI: NTFS pada FAT32"?
Philipp Ludwig

Jawaban:

7

Anda baik-baik saja. Buat tabel gpt dengan fat32 dan salin semua data dari iso di atasnya. Tetapi Anda juga perlu mengatur flag "msftdata" (bukan "boot") pada partisi ini dengan mis. Parted.

Feretj
sumber
1
Bagi mereka yang menggunakan gdisk: bukannya ef00membuat 0700partisi.
Victor Aurélio
atur flag "msftdata" (bukan "boot"), terima kasih @Feretj, kamu menyelamatkan hidupku
gpanda
Anda tidak dapat memasukkan semua data ke drive FAT32 pada Juni 2019. Pembaruan terbaru berisi windows.wimyang lebih besar dari 4,1 GiB.
Ben
8

Panduan untuk menyiapkan Windows 10 Oktober 2018, rilis drive USB yang dapat di-boot UEFI pada distribusi Linux apa pun.

Perhatikan, bahwa rilis Windows 10 Oktober 2018 memiliki file instalasi sources/install.wimlebih besar dari FAT32ukuran file maksimum , jadi kami akan memformat drive USB ke NTFS. Pemasang Windows juga tidak dapat berfungsi dengan partisi EFI (kode ef00), jadi kami akan menggunakan Microsoft basic datajenis partisi (kode 0700).

Langkah-langkah untuk membuat drive USB dengan nama /dev/sdc( Ganti semua perintah dengan nama perangkat ANDA! ):

  1. Masukkan USB drive ke komputer dan pastikan itu tidak dilepas. Beberapa distribusi suka mengautomatiskan drive USB, jadi pastikan Anda melepasnya. Partisi yang di-mount dapat ditemukan dengan mount -l | grep '/dev/sdc', lalu unmount dengan sudo umount /dev/sdcX(X adalah nomor partisi).
  2. Buka USB block device menggunakan gdisk /dev/sdc, konfigurasikan sebagai GPTdan buat Microsoft basic datapartisi (kode 0700), lalu tulis perubahan dan keluar ( Langkah selanjutnya akan menghancurkan tabel partisi di drive USB Anda !!! ).
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. Memformat partisi baru sebagai NTFS:
sudo mkfs.ntfs /dev/sdc1
  1. Pasang partisi USB baru ke direktori sementara di rumah Anda:
mkdir ~/tmp-win10-usb-drive
sudo mount /dev/sdc1 ~/tmp-win10-usb-drive
  1. Unduh ISO instalasi Windows, buat direktori sementara baru di rumah Anda dan pasang di sana:
mkdir ~/tmp-win10-iso-mnt
sudo mount Win10_1809Oct_English_x64.iso ~/tmp-win10-iso-mnt
  1. Salin semua file dari ISO yang terpasang ke drive USB (Anda dapat menggunakan rsyncuntuk melihat kemajuan):
sudo cp -rT ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. Lepas drive Windows ISO dan USB dan hapus direktori sementara:
sudo umount ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
rmdir ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. Masukkan USB drive ke komputer baru dan boot dari sana.
Lirt
sumber
2
Beberapa firmware tidak memeriksa file boot di partisi NTFS, seseorang mengoreksi saya jika saya salah.
Victor Aurélio
Anda dapat mengompres install.wim menjadi lebih kecil dari 4GB menggunakan tingkat kompresi "wimtools" dan "solid". Dengan cara ini Anda cukup menggunakan FAT32, lihat tqdev.com/2019-cannot-copy-windows-10-install-wim
mevdschee
Anda dapat mempercepat pemformatan tongkat secara signifikan saat Anda melewatkan mengisinya dengan nol terlebih dahulu: sudo mkfs.ntfs -Q / dev / sdc1
Robert
3

Saya telah menggunakan woeusb di Ubuntu dengan cara berikut ( Peringatan: ini akan menimpa seluruh tabel partisi Anda! ):

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

Jika Anda menemukan pesan kesalahan ini:

Partisi masih terdeteksi setelah menghapus semua tanda tangan, ini menunjukkan bahwa drive mungkin terkunci ke mode readonly karena akhir masa pakainya.

lakukan hal berikut sudo fdisk /dev/sdc:, ddan pilih lalu akhirnya w.

(Sumber: https://github.com/slacka/WoeUSB/issues/219 .) Setelah ini, coba lagi untuk menjalankan perintah di atas.

Bagaimanapun, dengan metode ini woeusb membuat tabel partisi gpt dengan dua partisi:

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

Akhirnya, yang harus saya lakukan adalah meletakkan flag boot dengan gparted untuk partisi / dev / sdc2 (bersama lba).

Dengan cara ini, saya dapat boot dengan sukses dalam mode UEFI dan menginstal Windows 10 dari USB stick saya.

Varga
sumber
Mengomentari hanya untuk mengingatkan diri saya untuk mendukung jika itu berhasil.
Orang Brasil itu,
2

Coba gunakan Rufus dengan Wine.

Salam.

aalf1987
sumber
2
Ini bukan solusi "linux".
Victor Aurélio
1
Tapi itu berhasil.
aalf1987
Rufus adalah open source. Cepat, efisien, bekerja di Linux. Terima kasih!
akhmed
0

Partisi EFI haruslah Fat32. Itu ada dalam spesifikasi EFI. Sistem Anda tidak akan pernah boot jika Anda meletakkan file installer ke partisi NTFS.

Anda bahkan tidak memerlukan perangkat lunak khusus. GPT / FAT32 untuk installer, ekstrak semua file dari iso (saya berasumsi Anda memiliki iso terbaru menggunakan alat pembuatan media, karena termasuk pembaruan November), dan mengatur "boot flag" menggunakan gparted. Kemudian akan boot ke installer dalam mode EFI dengan asumsi Anda memilih EFI USB dari opsi boot ketika komputer Anda mulai.

Pinger.

Pinger
sumber
Masalahnya adalah segera setelah penginstal memulai prosesnya akan terjadi kesalahan, dijelaskan dalam pertanyaan.
Victor Aurélio
Anda sudah mencoba dengan iso yang berbeda? Saya akan mencurigai sumber saya. Ambil yang terbaru seperti yang dijelaskan dalam jawaban saya. Jika Anda boot dengan itu di usb Anda, dan Anda masih mendapatkan kesalahan, saya akan mulai mempertanyakan perangkat keras ...
Pingers
ya saya sudah mencobanya juga ...
Victor Aurélio