Tôi có:
- Hình ả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
Tôi có:
Câu trả lời:
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 bằng ms-sys
hoặc 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 lấy nó ở đâ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à thiết bị /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ặc fdisk /dev/sdb
( loại phân vùng 7 và cờ 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:
# ms-sys -7 /dev/sdb
sudo lilo -M /dev/sdb mbr
( thông tin )sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Gắn phương tiện truyền thông ISO và USB:
# mount -o vòng lặp win7.iso / mnt / iso # gắn kết / dev / sdb1 / mnt / usb
Sao chép trên 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 tin được viết.
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ả những điều đó, có lẽ bạn 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 M byte bổ sung:
# dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress
Như mọi khi, 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ử nó 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.
sync
sau khi sao chép để đảm bảo tất cả các tệp được viết
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ở một vỏ 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 vỏ gốc và nhập vào các mục sau: (Thay thế windows7.iso bằng bất cứ thứ gì được gọi là iso 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.
Đề 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?):
Thay vì
dd if=windows7.iso of=/dev/sdb
bạn viết như root
,
dd if=windows7.iso of=/dev/sdb1
(THÊM 1 ở cuối hoặc bất cứ thứ gì ổ USB của bạn được đặt.)
dd
cần ghi vào thiết bị, không ghi vào phân vùng