it-swarm-vi.tech

Làm cách nào để tạo USB flash Windows 7 cài đặt phương tiện từ Linux?

Tôi có:

  • Ảnh ISO của phương tiện cài đặt Windows 7
  • Ổ đĩa flash USB 4 GB
  • không có ổ đĩa DVD
  • Cài đặt Linux
106
Ian Kelling

OK, sau khi thử không thành công tất cả các phương pháp được đề cập ở đây, cuối cùng tôi đã làm cho nó hoạt động. 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 hoặc là lilo -M. Điều này hoạt động với phiên bản bán lẻ Windows 7.

Đây là danh sách hoàn chỉnh một lần nữa:

Cài đặt ms-sys - nếu nó không có trong kho của bạn, hãy tải nó tại đây . Hoặc cách khác, đảm bảo lilo đã được cài đặt (nhưng không chạy bước liloconfig trên hộp cục bộ của bạn nếu ví dụ Grub được cài đặt ở đó!)

Kiểm tra xem thiết bị nào phương tiện USB của bạn được chỉ định - ở đây chúng tôi sẽ cho rằng đó là /dev/sdb. 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 (7) và nhớ đặt nó có khả năng khởi động:

# cfdisk /dev/sdb hoặcfdisk /dev/sdb (phân vùng loại 7 cờ khả năng khởi động )

Tạo một hệ thống tập tin NTFS:

# mkfs.ntfs -f /dev/sdb1

Viết Windows 7 MBR trên thanh USB (cũng hoạt động cho windows 8), nhiều tùy chọn tại đây:

  1. # ms-sys -7 /dev/sdb
  2. hoặc (ví dụ: trên các bản cài đặt Ubuntu mới hơn) Sudo lilo -M /dev/sdb mbr ( thông tin )
  3. hoặc (nếu syslinux được cài đặt), bạn có thể chạy Sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb

Gắn phương tiện ISO và USB:

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

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

# cp -r /mnt/iso/* /mnt/usb/... hoặc sử dụng trình duyệt tệp GUI tiêu chuẩn của hệ thống của bạn

Gọi sync để đảm bảo tất cả các tệp được ghi.

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ờ". Kiểm tra hộp kiểm khởi động, sau đó đóng lại.

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

Sau tất cả, bạn có thể muốn sao lưu phương tiện USB của mình để cài đặt thêm và thoát khỏi tệp ISO ... Chỉ cần sử dụng dd: # dd if=/dev/sdb of=win7.img

Lưu ý, điều này sao chép toàn bộ thiết bị! - thường là (nhiều) lớn hơn các tập tin được sao chép vào nó. Vì vậy, thay vì tôi đề xuất

# dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img

Vì vậy, ví dụ với 8 byte thêm:

# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress

Như mọi khi, hãy kiểm tra kỹ tên thiết bị khi làm việc với dd.

Phương pháp tạo USB có thể khởi động được trình bày ở trên cũng hoạt động với iso trình cài đặt Win10. Tôi đã thử chạy Ubuntu 16.04 sao chép Win10_1703_SingleLang_English_x64.iso (kích thước 4.241.291.264 byte) vào thẻ nhớ USB 8 GB - chỉ trong khởi động không phải UEFI [không bảo mật]. Sau khi thực hiện dd báo cáo: 8300156 + 0 bản ghi trong 8300156 + 0 bản ghi ra 4249679872 byte (4.2 GB, 4.0 GiB) được sao chép, 412.807 s, 10.3 MB/s

Đảo ngược nếu/của lần tiếp theo bạn muốn đặt trình cài đặt Windows 7 vào USB.

183
jthurner

Bạn có thể thực hiện điều này với dd, nếu PC của bạn hỗ trợ UEFI và, bằng cách mở rộng, các đĩa GPT.

Mở một thiết bị đầu cuối, bạn sẽ cần tìm thiết bị nào là ổ đĩa của bạn. Nếu bạn đã gắn ổ đĩa, bạn có thể tìm tên của thiết bị bằng cách nhập "mount" và xem mục nhập của nó. Một cái gì đó như sau:

/dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed)

Trong trường hợp này, phần đầu tiên của/dev/sdb được gắn tại/media/USBDISK. Mở Shell gốc và ngắt kết nối ổ đĩa.

umount /dev/sdb1

Chuyển đến thư mục nơi ISO của bạn được lưu trữ trong Shell gốc và nhập vào các mục sau: (Thay thế windows7.iso bằng bất cứ thứ gì iso được gọi và/dev/sdb bằng id thiết bị của thanh usb của bạn).

dd if=windows7.iso of=/dev/sdb

Nếu bo mạch chủ của bạn hỗ trợ khởi động từ một ổ đĩa, nó sẽ có thể khởi động nó. Điều này sẽ nhận được trình cài đặt trên ổ đĩa chứ không phải chính hệ điều hành.

13
TrueDuality

Đề xuất của PCambell là tốt nhưng bạn cũng sẽ muốn xóa MBR, tương đương với linux ở bên dưới

Tôi đã thử điều này và nó đã hoạt động (Tôi không chắc tại sao phương thức dd thất bại nhưng dường như phân vùng phải là ntfs?):

  • tìm ra/dev/thiết bị là ổ flash USB của bạn và ngắt kết nối nó
  • xóa MBR: dd if =/dev/zero of =/dev/device bs = 446 Count = 1
  • chạy fdisk/dev/thiết bị
  • xóa tất cả các phân vùng và tạo 1 phân vùng chính, làm cho nó có khả năng khởi động sau đó lưu các thay đổi
  • chạy mkfs.ntfs/dev/device1 (phân vùng 1)
  • sao chép toàn bộ nội dung của windows cài đặt iso vào phân vùng bạn đã tạo
5
Raymond