Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Tạo USB Cài Đặt Windows 10 Từ Linux: Hướng Dẫn Bước Một

Lý do tôi thử chuyện này hơi convoluted. Nó bắt đầu, như mọi câu chuyện hay, với một vấn đề, conflict, conundrum. Tôi có laptop multi-boot, Windows 10 và một đống Linux distro, và nó ốm. Không boot. Không gì. Tôi cần recover nó, và recover tôi làm, từng hệ thống một, đến khi chỉ còn Windows 10 và nó hành xử khá stubborn.

Tôi nghĩ dùng Windows 10 install media có thể giúp, vì tôi sẽ có control tốt hơn recovery tools và options so với dùng cái Windows cung cấp khi startup bị botched. Nghĩa là tạo bootable media, và việc này phức tạp hơn tôi nghĩ. Tôi muốn tạo USB media trong Linux, không dựa vào third-party tools tự nhận làm được việc này. Tại sao? Vì independence. Nếu nó work với standard tools, bạn dùng được ở đâu cũng được. Bắt đầu thôi.

Bước 1: Tải Windows 10 ISO

Điều này không trivial. Trên Windows, nó chỉ offer Windows media creation tool. Nhưng chúng ta muốn raw ISO, vì vậy bạn nên làm bằng cách thay đổi user agent của browser, hoặc tải image trong Linux distro,畢竟, đó là lý do chúng ta ở đây! Thử thách đầu tiên của ngày vượt qua thành công rực rỡ.

Bước 2: Mount & copy và/hoặc extract ISO

Khi đã có file download, chúng ta cần extract đến writable location, ví dụ đâu đó trong home directory. Nếu mount ISO as loopback device, nó sẽ read-only, và bạn cần manually copy contents. Một số Linux file manager không native extract ISO. Một số thì được. Tôi gặp error này:

This disc contains a "UDF" file system and requires an operating system
that supports the ISO-13346 "UDF" file system specification.

Được, chúng ta cần manual mount & copy:

mount -o loop windows10.iso /mountpoint
cp -r -T /mountpoint/ /home/"user"/windows10data

Bước 3: Nén install.wim

Lý do chúng ta làm trên là vì một file — install.wim — trong ISO lớn hơn 4GB, và chúng ta cần nén nó. Lý do cho việc đó là, tùy firmware hệ thống, máy của bạn có thể không boot được thiết bị NTFS-formatted (sबसे likely không). Vì vậy để an toàn, USB drive cần format FAT32, và có limit 4GB cho file size.

File nằm dưới sources, nên trong trường hợp chúng ta /home/"user"/windows10data/sources/install.wim. Để nén file, cần tool tên wimlib. Bạn nên tìm thấy nó trong repo distro. Vì tôi dùng Kubuntu 18.04 cho task này, package xác thực available.

sudo apt-get install wimtools

Giờ, bước nén (bên trong folder chứa ISO files):

sudo wimlib-imagex optimize install.wim --solid

Bạn có thể cần sudo, vì bạn có thể gặp error như này:

[ERROR] Can't modify "/home/roger/win/sources/install.wim": Permission denied
ERROR: Exiting with error code 71:
The WIM is read-only (file permissions, header flag, or split WIM).

Kết quả thành công trông như này:

"install.wim" original size: 4463411 KiB
Using LZMS compression with 8 threads
Archiving file data: 9 GiB of 9 GiB (100%) done
"install.wim" optimized size: 3311533 KiB
Space saved: 1151878 KiB

Image 4.4GB giảm xuống 3.3GB, giảm 30%, nghĩa là chúng ta có khá nhiều room to grow trước khi method này trở nên inadequate cho Windows 10 ISO tương lai và filesystem FAT32.

Bước 4: Chuẩn bị USB device

Giờ, chúng ta cần thumb drive, tối thiểu 8GB. Nó cần partitioned. Bạn có thể dùng tool như GParted hoặc KDE Partition Manager, hoặc nếu savvy, fdisk hoặc gdisk từ command line, để chuẩn bị device. Đầu tiên, tạo new GPT partition table. Thứ hai, tạo single FAT32 partition. Nó không nên có boot flag. Nói cách khác, nó sẽ được identified as "msft-data" partition.

Tạo USB Cài Đặt Windows 10 Từ Linux: Hướng Dẫn Bước Một

Bạn cũng có thể làm trên command line. Ví dụ, với gdisk:

sudo gdisk /dev/[your device here]

Ví dụ, kiểu này:

sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help):

Hãy EXTRA careful để không accidentally initialize wrong device và ruin data! Trong gdisk, bạn cần các bước:

  • o — tạo new GPT partition table.
  • n — tạo partition mới (bạn có thể dùng defaults cho number, sectors).
  • w — write data (một lần nữa, extra careful với việc bạn làm, lest you cry).

Sau khi thoát tool, format partition:

sudo mkfs.vfat /dev/[your device, partition here]

Ví dụ, /dev/sdb. Mặc định, mkfs.vfat chọn FAT size tối ưu, nhưng bạn có thể override với flag -F. Tuy nhiên, trong hầu hết trường hợp, bạn không cần thay đổi, và sẽได้ default FAT32 filesystem.

Disk /dev/sdb: 14.9 GiB, 16008609792 bytes, 31266816 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 43479D21-6D76-2CA4-A7BA-596C08A99193

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 31260671 31258624 14.9G Microsoft basic data

Bước 5: Copy data lên USB device

Giờ đã sẵn sàng, chúng ta cần copy extracted ISO contents với install.wim đã nén lên USB drive:

sudo mount /dev/[your device, partition here] /usb/mount/point/
sudo cp -r -T /location/windows10data /usb/mount/point/

Một screenshot cuối, chỉ partition table, contents và whatnot.

Tạo USB Cài Đặt Windows 10 Từ Linux: Hướng Dẫn Bước Một

Và mọi thứ sẵn sàng. Chúng ta có thể tiến hành boot.

Bước 6: Boot Windows 10 trên thiết bị đích

Bob's your uncle tại điểm này.

Optional: NTFS partition trên USB device

Giờ, bạn có thể wonder Windows làm "chính thức" như thế nào hoặc các tool khác (như woeusb hoặc Rufus) handle install.wim lớn hơn 4GB như thế nào. Vâng, có thể boot NTFS devices trên UEFI systems, nhưng cần extra steps.

Về cơ bản, liên quan đến UEFI:NTFS bootloader. Không đi sâu vào chi tiết, vì đây chỉ là optional come-what-may nếu bạn severely limited với việc tạo và/hoặc dùng method trên, chuỗi bước như sau (có alternatives, nhưng đây là một cách):

  • Tạo new GPT/MBR partition table trên USB device.
  • Tạo NTFS partition span toàn bộ device trừ 512 KB.
  • Tạo FAT16 partition span 512 KB size.
  • Thêm boot và lba flags cho FAT16 partition.
  • Tải UEFI bootloader image từ Rufus GitHub repository của pbatard.
  • Mount hoặc extract image (giống như trên).
  • Copy efi files trong image lên FAT16 partition.
  • Copy Windows 10 ISO contents lên NTFS partition.

Kết luận

Đây là cuối tutorial. Tôi hy vọng bạn thấy useful, vì quite often, seemingly trivial actions có thể có unintended convoluted consequences, như chúng ta thấy ở đây. Nếu bạn không muốn rely trên third-party tools (nhiều), và muốn tạo Windows 10 USB install media trong Linux, hướng dẫn này cung cấp các bước cần thiết.

Chúng ta học được khá nhiều ở đây, bao gồm quản lý ISO images, nén wim files, partition và format devices, và thậm chí có optional magic trick để boot NTFS devices trên UEFI hardware. Đây là những gì nhiều USB creation tools làm trong background, và bây giờ bạn biết bí mật. Vâng, đó là tất cả cho bây giờ. Giờ, đi cài đặt thôi.

Cheers.