Computer >> Máy Tính >  >> Hệ thống >> Windows

Cách tạo phương tiện cài đặt USB Windows 10 trong Linux

Lý do tại sao tôi cố gắng điều này là một chút phức tạp. Nó bắt đầu, giống như bất kỳ câu chuyện hay nào, với một vấn đề, một xung đột, một câu hỏi hóc búa. Tôi có một chiếc máy tính xách tay với hệ thống đa khởi động, Windows 10 và một loạt các bản phân phối Linux, và nó bị ốm. Không khởi động. Không. Tôi cần khôi phục nó và tôi đã khôi phục nó, hết hệ thống này đến hệ thống khác, cho đến khi chỉ còn lại Windows 10 và hoạt động khá ngoan cố.

Tôi nghĩ rằng việc sử dụng phương tiện cài đặt Windows 10 có thể hữu ích, vì tôi sẽ kiểm soát tốt hơn các công cụ và tùy chọn khôi phục so với việc sử dụng phương tiện mà Windows cung cấp khi khởi động bị lỗi. Điều này có nghĩa là tạo phương tiện có thể khởi động và điều này hóa ra phức tạp hơn tôi nghĩ. Tôi muốn tạo phương tiện USB trong Linux mà không cần dựa vào bất kỳ công cụ của bên thứ ba nào có ý định thực hiện việc này. Tại sao? Vì độc lập. Nếu nó hoạt động với các công cụ tiêu chuẩn, bạn có thể sử dụng nó ở bất cứ đâu. Bắt đầu bắt đầu.

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

Đây không phải là tầm thường. Trong Windows, nó sẽ chỉ cung cấp công cụ tạo phương tiện Windows. Nhưng chúng tôi muốn ISO thô, vì vậy bạn nên thực hiện việc này bằng cách thay đổi tác nhân người dùng của trình duyệt của mình hoặc tải xuống hình ảnh trong bản phân phối Linux, sau tất cả, đó là lý do tại sao chúng tôi ở đây! Thử thách đầu tiên trong ngày đã vượt qua thành công rực rỡ.

Bước 2:Gắn &sao chép và/hoặc giải nén ISO

Khi bạn đã tải xuống tệp, chúng tôi cần giải nén tệp đó vào một vị trí có thể ghi, ví dụ:. đâu đó trong thư mục nhà của bạn. Nếu bạn gắn ISO dưới dạng thiết bị loopback, nó sẽ ở chế độ chỉ đọc và bạn sẽ cần sao chép nội dung theo cách thủ công. Một số trình quản lý tệp Linux không thể giải nén các tệp ISO. Một số có thể. Tôi gặp lỗi này:

Đĩa này chứa hệ thống tệp "UDF" và yêu cầu hệ điều hành
hỗ trợ đặc tả hệ thống tệp "UDF" ISO-13346.

Được rồi, chúng ta cần thực hiện gắn &sao chép thủ công:

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

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

Lý do chúng tôi làm như trên là vì một trong các tệp - install.wim - có trong ISO lớn hơn 4 GB và chúng tôi cần nén nó. Và lý do cho điều đó là, tùy thuộc vào phần sụn hệ thống của bạn, máy của bạn có thể không khởi động được các thiết bị có định dạng NTFS (thực tế rất có thể là không). Vì vậy, để đảm bảo an toàn, ổ USB của chúng ta cần được định dạng là FAT32 và có giới hạn 4GB cho kích thước tệp.

Tệp nằm trong nguồn, vì vậy trong trường hợp của chúng tôi là /home/"user"/windows10data/sources/install.wim. Để nén tệp, chúng tôi cần một công cụ gọi là wimlib. Bạn nên tìm nó trong repos của distro của bạn. Vì tôi đang sử dụng Kubfox 18.04 cho tác vụ này nên gói này thực sự có sẵn.

sudo apt-get cài đặt wimtools

Bây giờ là bước nén (bên trong thư mục chứa file ISO):

sudo wimlib-imagex tối ưu hóa install.wim --solid

Bạn có thể cần sudo, vì bạn có thể gặp lỗi như sau:

[LỖI] Không thể sửa đổi "/home/roger/win/sources/install.wim":Quyền bị từ chối
LỖI:Thoát với mã lỗi 71:
WIM ở chế độ chỉ đọc (quyền đối với tệp, cờ tiêu đề hoặc phân tách WIM).

Và kết quả thành công sẽ như thế này:

Kích thước ban đầu của "install.wim":4463411 KiB
Sử dụng nén LZMS với 8 luồng
Lưu trữ dữ liệu tệp:9 GiB trên 9 GiB (100%) được thực hiện
Kích thước được tối ưu hóa của "install.wim":3311533 KiB
Dung lượng đã lưu:1151878 KiB

Hình ảnh 4,4 GB đã giảm xuống còn 3,3 GB, giảm 30%. Vì vậy, điều này có nghĩa là chúng tôi có khả năng còn nhiều chỗ để phát triển trước khi phương pháp này trở nên không phù hợp để sử dụng trong tương lai với các tệp ISO của Windows 10 và hệ thống tệp FAT32.

Bước 4:Chuẩn bị thiết bị USB

Bây giờ, chúng ta cần một ổ USB, dung lượng ít nhất là 8 GB. Nó cần phải được phân vùng. Bạn có thể sử dụng một công cụ như GParted hoặc Trình quản lý phân vùng KDE hoặc nếu bạn hiểu biết, fdisk hoặc gdisk từ dòng lệnh, để chuẩn bị thiết bị. Trước tiên, bạn cần tạo một bảng phân vùng GPT mới. Thứ hai, tạo một phân vùng FAT32 duy nhất. Nó không nên có cờ khởi động. Nói cách khác, nó sẽ được xác định là phân vùng "msft-data".

Cách tạo phương tiện cài đặt USB Windows 10 trong Linux

Bạn cũng có thể làm điều này trên dòng lệnh. Ví dụ:với gdisk:

sudo gdisk /dev/[thiết bị của bạn ở đây]

Ví dụ:một cái gì đó như thế này:

sudo gdisk /dev/sdb
GPT fdisk (gdisk) phiên bản 1.0.3

Quét bảng phân vùng:
MBR:bảo vệ
BSD:không có
APM:không có
GPT:có

Đã tìm thấy GPT hợp lệ với MBR bảo vệ; sử dụng GPT.

Lệnh (? để được trợ giúp):

Hãy THẬT SỰ cẩn thận để bạn không vô tình khởi tạo sai thiết bị và làm hỏng dữ liệu của mình! Trong gdisk, bạn cần thực hiện các bước sau:

  • o - tạo bảng phân vùng GPT mới.
  • n - tạo phân vùng mới (bạn có thể sử dụng giá trị mặc định cho số, cung).
  • w - ghi dữ liệu (một lần nữa, hãy hết sức cẩn thận với những gì bạn đang làm kẻo khóc).

Khi bạn thoát khỏi công cụ, hãy định dạng phân vùng:

sudo mkfs.vfat /dev/[thiết bị của bạn, phân vùng ở đây]

Chẳng hạn, /dev/sdb. Theo mặc định, lệnh mkfs.vfat sẽ chọn kích thước FAT tối ưu, nhưng bạn có thể ghi đè lên điều này bằng cờ -F. Tuy nhiên, trong hầu hết các trường hợp, bạn sẽ không cần thực hiện bất kỳ thay đổi nào và bạn sẽ nhận được hệ thống tệp FAT32 mặc định.

Đĩa /dev/sdb:14,9 GiB, 16008609792 byte, 31266816 cung
Đơn vị:cung từ 1 * 512 =512 byte
Kích thước cung (logic/vật lý):512 byte / 512 byte
I /Kích thước O (tối thiểu/tối ưu):512 byte / 512 byte
Loại nhãn đĩa:gpt
Số nhận dạng đĩa:43479D21-6D76-2CA4-A7BA-596C08A99193

Khu vực đầu cuối của thiết bị Loại Kích thước
/dev/sdb1 2048 31260671 31258624 14,9G Dữ liệu cơ bản của Microsoft

Bước 5:Sao chép dữ liệu vào thiết bị USB

Bây giờ chúng ta đã sẵn sàng mọi thứ, chúng ta cần sao chép nội dung ISO đã giải nén cùng với tệp install.wim đã nén vào ổ USB:

sudo mount /dev/[thiết bị của bạn, phân vùng ở đây] /usb/mount/point/
sudo cp -r -T /location/windows10data /usb/mount/point/

Một ảnh chụp màn hình cuối cùng, chỉ hiển thị bảng phân vùng, nội dung và những thứ khác.

Cách tạo phương tiện cài đặt USB Windows 10 trong Linux

Và mọi thứ đã sẵn sàng ngay bây giờ. Chúng ta có thể tiến hành bắt đầu khởi động.

Bước 6:Khởi động Windows 10 trên thiết bị đích

Bob là chú của bạn vào thời điểm này.

Tùy chọn:Phân vùng NTFS trên thiết bị USB

Bây giờ, bạn có thể tự hỏi làm thế nào Windows thực hiện điều này "chính thức" hoặc cách các công cụ khác nhau (như woeusb hoặc Rufus) quản lý để xử lý tệp install.wim lớn hơn 4GB. Chà, có thể khởi động thiết bị NTFS trên hệ thống UEFI, nhưng điều này yêu cầu một số bước bổ sung.

Về bản chất, điều này liên quan đến việc sử dụng bộ tải khởi động UEFI:NTFS. Không đi sâu vào quá nhiều chi tiết, bởi vì đây chỉ là một tùy chọn tùy chọn đến trong trường hợp bạn bị hạn chế nghiêm trọng trong việc tạo và/hoặc sử dụng phương pháp được liệt kê ở trên, trình tự các bước như sau (có các lựa chọn thay thế, nhưng đây là một chiều):

  • Tạo bảng phân vùng GPT/MBR mới trên thiết bị USB.
  • Tạo phân vùng NTFS bao trùm toàn bộ thiết bị trừ đi 512 KB.
  • Tạo phân vùng FAT16 có kích thước 512 KB.
  • Thêm cờ boot và lba vào phân vùng FAT16.
  • Tải xuống hình ảnh bộ tải khởi động UEFI từ kho lưu trữ Rufus GitHub của pbatard.
  • Gắn hoặc trích xuất hình ảnh (giống như chúng tôi đã làm ở trên).
  • Sao chép các tệp efi có trong hình ảnh vào phân vùng FAT16.
  • Sao chép nội dung ISO của Windows 10 vào phân vùng NTFS.

Kết luận

Chúng tôi ở đó, kết thúc hướng dẫn này. Tôi hy vọng bạn sẽ thấy điều này hữu ích, bởi vì khá thường xuyên, những hành động có vẻ nhỏ nhặt có thể gây ra những hậu quả phức tạp ngoài ý muốn, như chúng ta đã thấy ở đây. Nếu bạn không muốn (rất nhiều) phụ thuộc vào các công cụ của bên thứ ba và muốn có thể tạo phương tiện cài đặt USB Windows 10 trong Linux, hướng dẫn này sẽ cung cấp cho bạn các bước cần thiết.

Chúng tôi đã học được khá nhiều điều ở đây, bao gồm cách quản lý ảnh ISO, cách nén tệp wim, cách phân vùng và định dạng thiết bị, thậm chí còn có một thủ thuật ma thuật tùy chọn để khởi động thiết bị NTFS trên phần cứng UEFI. Đây là điều mà nhiều công cụ tạo USB thực hiện ở chế độ nền và giờ đây bạn đã nắm được bí mật. Tốt, đó là tất cả cho bây giờ. Bây giờ, bạn hãy bắt đầu cài đặt.

Chúc mừng.