Những phiền toái của việc tạo ổ USB Windows 7 có thể khởi động từ linux với ms-sys hoặc dd là gì?


9

Tôi đã đọc một số trang web và bài đăng (ở đây và trong các diễn đàn khác) về cách tạo phương tiện USB cài đặt Windows 7 từ linux (để cài đặt Windows 7)

Tôi đã hỏi trên TechNet về điều này và tôi đã nhận được câu trả lời với thông tin chung về cách thực hiện:

"Cá nhân tôi không rành lắm về linux, nhưng về cơ bản tất cả những gì bạn cần làm ... theo bất cứ cách nào bạn làm là như sau:

  1. Định dạng ổ flash USB, fat32 hoặc ntfs tạo phân vùng đủ lớn để lưu trữ cài đặt windows (cung cấp hoặc lấy 3GB cho 64 bit, aroud 2.5gb cho 32 bit) và đánh dấu phân vùng đó là kích hoạt / khả năng khởi động. Vì điều này có thể được thực hiện với các cửa sổ, nhưng cũng như với một công cụ như gparted, bạn sẽ có thể làm điều tương tự trong debian.

  2. Khi bạn đã tạo phân vùng đó, hãy gắn iso mà bạn tải xuống và sao chép tất cả các tệp bắt đầu từ thư mục gốc, vào thư mục gốc của ổ đĩa flash USB.

Đó là tất cả những gì có. "

Tôi đã tìm thấy một phương pháp khác ở nhiều nơi, đó là gần giống với những gì đã được đề cập tại TechNet. Tuy nhiên, dường như có một bước còn thiếu trong phương pháp này và / hoặc một bước mà tôi không chắc chắn là cần thiết.

ddkhông phải lúc nào cũng làm việc Về cơ bản, bước còn thiếu là viết một khu vực khởi động thích hợp vào thanh usb, có thể được thực hiện từ linux với ms-sys. Điều này hoạt động với phiên bản bán lẻ của Windows 7.

Dưới đây là danh sách đầy đủ, xem câu hỏi về serverfault để biết thêm chi tiết:

  1. Cài đặt ms-sys .
  2. Kiểm tra xem thiết bị nào phương tiện truyền thông usb của bạn được gán ( fdisk -l) ở đây chúng tôi sẽ cho rằng đó là thiết bị /dev/sdb.
  3. Xóa tất cả các phân vùng, tạo một phân vùng mới chiếm toàn bộ dung lượng, đặt loại thành NTFS và đặt khả năng khởi động:

    cfdisk /dev/sdb

  4. Tạo hệ thống tập tin NTFS:

    mkfs.ntfs -f /dev/sdb1

  5. Gắn phương tiện iso và usb:

    mount -o loop win7.iso /mnt/iso
    mount /dev/sdb1 /mnt/usb

  6. Sao chép tất cả các tệp:

    # cp -r /mnt/iso/* /mnt/usb/

  7. Viết Windows 7 MBR trên thanh USB:

    # ms-sys -7 /dev/sdb

  8. Hãy chắc chắn rằng văn bản được tuôn ra (hãy kiên nhẫn có thể mất vài phút):

    # sync

  9. mở gparted, chọn ổ USB, nhấp chuột phải vào hệ thống tệp, sau đó nhấp vào "Quản lý cờ". Chọn hộp kiểm 'khởi động', sau đó đóng

... và bạn đã hoàn thành.

Câu hỏi

  • Không nên làm việc mà không làm bước cuối cùng # ms-sys -7 /dev/sdb? Hoặc là để làm cho USB có khả năng khởi động? Có phải nó chỉ để đánh dấu phân vùng là khả năng khởi động?

  • Nó sẽ không tốt hơn sử dụng rsync thay vì cp -r?

  • Làm tất cả các bước này phải được thực hiện như root? Nếu không, tôi có cần chmodtất cả các tệp đến 664chowntất cả các thư mục được sử dụng để gắn thiết bị USB và hình ảnh ISO không? Tôi cho rằng việc sao chép dữ liệu sẽ dễ dàng hơn rootvà nó không ảnh hưởng đến dữ liệu.

  • Có ai đã thử phương pháp này hoặc một số tương tự như sao chép iso với dd?


Tôi đã sử dụng dd với iso mặc dù không phải cho windows 7. Bạn có thể kiểm tra xem liệu điều này có hoạt động không: superuser.com/questions/591234/ chủ
xsdf

Câu trả lời:


1

Các ms-syslệnh là quan trọng. Với -7tùy chọn, nó tạo ra một khu vực khởi động tương thích Windows 7 trên ổ đĩa flash của bạn.

Bạn không thể sử dụng dd vì ISO sử dụng Hệ thống tệp ISO như UDF hoặc ISO9660 , trong đó - vì ổ USB của bạn chỉ hỗ trợ đúng cách các hệ thống tệp đĩa như ext3, FAT32 hoặc NTFS

Sẽ tốt hơn khi sử dụng rsync thay vì cp -r?

Không hẳn vậy. cp -rhoạt động hoàn toàn tốt Chỉ cần nhận ra rằng NTFS xử lý các quyền khác với Linux, vì vậy sử dụng rsync để giữ mọi thứ nguyên vẹn không quá quan trọng. Tất cả những gì thực sự quan trọng là các tệp từ ISO có trên USBkhu vực khởi động được định dạng chính xác bằng cách sử dụngms-sys -7

Bạn có thể làm tất cả các bước như root nếu bạn muốn. Các chỉ 2 bước mà thực sự đòi hỏi gốc là mkfsvà 2 mount's

Nếu bạn gặp sự cố về quyền ngay cả khi đã root, bạn có thể cần gắn USB bằng cách sử dụng ntfs-3g /dev/sdb1một số Bản phân phối Linux chỉ cung cấp trình điều khiển Chỉ đọc cho NTFS.


1

Tôi đã thử với dd (dd if = / file / win7.iso of = / dev / sdb) và nó không hoạt động.

Các bước của tôi để làm cho nó hoạt động:

  • Cài đặt ms-sys
  • gparted để tạo phân vùng và tạo hệ thống tập tin NTFS.

Sau đó áp dụng các lệnh sau:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.