Làm cách nào để tạo MBR trên thanh USB bằng công cụ dòng lệnh DD


16

Được rồi, tôi đang cố gắng tạo một hình ảnh Windows7 BOOTABLE trên khóa USB từ máy Mac đang chạy Lion. Hình ảnh của tôi là định dạng .iso. Tôi đã thử:

sudo dd if=/Users/myusername/Win7.iso of=/dev/disk1 bs=1m

Và điều này đã thành công trong việc ghi các tệp, ngoại trừ trong DISK UTILITY trên mac, nó hiển thị loại phân vùng là Bảng phân vùng GUID chứ không phải 'Bản ghi chính của Boor'. Khởi động khóa trên máy tính Vista của tôi gây ra lỗi "Không có khu vực khởi động trên thiết bị USB"

Từ những gì tôi có thể nói, bs = 1m trong lệnh DD nên để lại 1 Megabyte cho khu vực khởi động, nhưng vì một số lý do, khu vực này của Khóa USB không được thiết lập chính xác để nó sẽ khởi động

Làm cách nào để khắc phục điều này hoặc sử dụng chính xác dd để ghi ảnh cd có thể khởi động để bây giờ nó là ổ USB có thể khởi động?

Lưu ý: trong hướng dẫn tôi đã đọc, họ khuyên nên đổi tên Win7.iso của tôi thành Win7.dmg trước khi sử dụng DD, điều này hoàn toàn không có ý nghĩa với tôi, vì vậy tôi đã không làm điều đó. Tôi có thể thử với bước đó ngay bây giờ, nhưng phải mất 1,99 giờ để ghi hình ảnh vào ổ USB nên có một hình phạt rất lớn để dùng thử và lỗi ở đây. Cảm ơn bạn.


Bạn đã xác minh rằng .isotập tin có một khu vực khởi động hợp lệ? Nếu bạn trích xuất nó trực tiếp từ CD có thể khởi động, có thể đã xảy ra lỗi vì CD có các cung 2048 byte và hầu hết các ổ flash đều có các cung 512 byte.
LawrenceC

FYI. DD là một tiện ích để bí mật và sao chép một tập tin. Nó không biết gì về bảng phân vùng hoặc thành phần khởi động. bs = 1m có nghĩa là đọc và viết lên tới 1 megabyte mỗi lần. Nếu bạn muốn chừa khoảng trống ở phía trước ổ đĩa, bạn sẽ sử dụng tìm kiếm = BLOCKS. Trong đó khối = kích thước khu vực mặc định là 512.
Matt H

@MattH Bạn đã viết "FYI. DD là một tiện ích để bí mật và sao chép một tập tin." <--- Điều đó hoàn toàn sai và bạn biết điều đó. Và như những gì nó biết, bạn nói "Nó không biết gì về bảng phân vùng" Chắc chắn là không nhưng nó vẫn có thể ảnh hưởng đến chúng. Đó là về việc sao chép các byte thô từ phân vùng hoặc toàn bộ ổ cứng, không phải tệp và bạn biết điều đó. Và những gì được sao chép có thể bao gồm các tệp và (trong khi tôi không phải là chuyên gia), tôi cho rằng nó sẽ bao gồm một bảng phân vùng.
barlop 18/03/18

dd không giống như công cụ phù hợp để chuyển đổi iso cd thành hình ảnh cho usb. Có nhiều cách để đặt iso win7 vào USB và tôi không nghĩ dd là một trong số đó! Ít nhất là không ai thường sử dụng! dd / ddresTHER là tốt nếu bạn có hai ổ cứng giống hệt nhau và muốn sao chép cái này sang cái khác. hoặc nếu một ổ cứng có một số lỗi và bạn muốn tạo một hình ảnh của nó khi phần mềm hình ảnh khác không thành công.
barlop 18/03/18

@barlop - trang dd man - "Sao chép tệp, chuyển đổi và định dạng theo toán hạng."
Matt H

Câu trả lời:


7

Sử dụng Tùy chọn tiện ích đĩa để đặt loại phân vùng thành Bản ghi khởi động chính trước khi bạn thực hiện dd.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


4
Điều này thất bại. Tôi đã biết các cài đặt được mô tả trong ảnh chụp màn hình của bạn nhưng sau khi thực hiện việc này trước tiên, sau đó là DD, hình ảnh thu được vẫn không tìm thấy khu vực khởi động. Lệnh DD xuất hiện để dọn rác bất cứ thứ gì mà đĩa sử dụng dù sao đi nữa, có vẻ như nó đang ghi ở chế độ thô ở mức rất thấp. Tôi muốn điều này hoạt động nhưng thành thật mà nói nó đã không làm được, và thật ngu ngốc khi sử dụng đĩa không hỗ trợ hình ảnh .iso để khôi phục.
Lana Miller

5

Tôi gặp vấn đề tương tự khi cố gắng tạo đĩa USB có thể khởi động từ OSX. Vấn đề là UnetBootin không thiết lập chính xác Bản ghi khởi động chính trên đĩa USB. Bạn phải làm điều này bằng tay với Disk Util và fdisk.

  1. Định dạng đĩa trong Disk Utility, với MBR chính xác

    1. Mở đĩa Utilty
    2. Chọn thiết bị USB
    3. Nhấp vào phân vùng
    4. Chọn 1 phân vùng trong bố cục phân vùng
    5. Chọn Phần mềm khởi động chính Master Record Record trong tùy chọn
    6. Chọn MS-DOS (FAT) trong loại định dạng.
    7. Nhấp vào Áp dụng, sau đó Phân vùng
    8. Đóng tiện ích đĩa
      Điều này sẽ xóa sạch đĩa USB và thiết lập nó với bản ghi khởi động chính xác
  2. Cài đặt nhị phân MBR từ dự án SysLinux

    1. Sử dụng dòng lệnh Discutil để tìm tên thiết bị cho ổ USB của bạn.
      danh sách đĩa
    2. Ngắt kết nối ổ USB bằng dòng lệnh. Lưu ý: Đảm bảo hoán đổi tham chiếu thiết bị (trong trường hợp của tôi là / dev / SOMEdisk2) với khóa chính xác cho khóa usb mà bạn đã xác định trong bước trước - điều này sẽ thay đổi cho từng máy.
      đĩautil unmountDisk / dev / SOMEdisk2
    3. Đánh dấu phân vùng hoạt động, sau đó ngắt kết nối lại
      sudo fdisk -e / dev / SOMEdisk2
      in
      f 1
      viết
      in
      lối ra
      đĩautil unmountDisk / dev / SOMEdisk2
    4. Tải xuống Syslinux và giải nén tệp mbr.bin
    5. Cài đặt MBR
      sudo dd conv = notrunc bs = 440 Count = 1 if = mbr.bin of = / dev / SOMEdisk2
      NB: xem hướng dẫn đầy đủ của tôi nếu bạn cần trợ giúp thêm với các bước 4 & 5.
  3. Sử dụng UnetBootin để cài đặt các tệp cài đặt hệ điều hành của bạn

    1. Tải xuống và cài đặt UnetBootin nếu bạn chưa có
    2. Tải ứng dụng, chọn phân phối ưa thích của bạn, rồi bấm OK
    3. Khi kết thúc, nhả phím USB và sử dụng nó

Hướng dẫn đầy đủ


Xin chào Paul, nếu bạn chỉ đăng một liên kết, hãy thật tử tế và thêm một số nội dung. Tôi đã thêm các hướng dẫn từng bước của bạn nếu bạn không phiền. Khác, bạn có thể hoàn nguyên bản chỉnh sửa
nixda

Không có vấn đề gì, tôi có thể thấy rằng nó giúp cho câu trả lời nhanh hơn / dễ dàng hơn vì vậy tôi sẽ làm như vậy vào lần tới - cảm ơn vì đã làm điều đó cho tôi :)
Paul Maunders

Có 3 mbr.bin trong syslinux zip, tôi nên sử dụng loại nào?
Olivier Lalonde

Chỉ cần sử dụng một syslinux tiêu chuẩn-5,00 / mbr / mbr.bin
Paul Maunders

Nó không làm việc cho tôi. Tuy nhiên, tôi nhận được thông báo "Không hệ thống đĩa".
lãng phí

1

Định dạng khóa USB bằng Bản ghi khởi động chính (MBR)

  • trong Terminal: danh sách đĩa

  • lưu ý tên khóa USB của bạn (của tôi là / dev / đĩa1)

  • trong Terminal: Diskutil eraseDisk MS-DOS "WINDOWS10" MBR / dev / đĩa1

  • thay thế / dev / đĩa1 bằng tên của khóa USB của bạn

Gắn hình ảnh đĩa Windows 10

  • trong Tiện ích đĩa: chọn Tệp Mở tệp hình ảnh Đĩa chọn .iso của bạn

  • trong khung bên trái: nhấp vào hình ảnh mới được gắn

  • trong khung bên phải: chọn tên và sao chép nó: một cái gì đó như CCSA_X64FRE_FR-FR_DV5

Sao chép hình ảnh đĩa vào khóa USB WINDOWS10

  • trong Terminal: cd / Tập

  • trong Terminal: cp -R CCSA_X64FRE_FR-FR_DV5 / WINDOWS10

  • thay thế tên hình ảnh trong ví dụ bằng tên hình ảnh đĩa của bạn

  • dấu gạch chéo ở cuối (sau DV5 trong ví dụ) rất quan trọng

  • phải mất hơn 90 phút để sao chép vào khóa USB USB 2.0, không có chỉ báo tiến trình


0

Phương pháp này không sử dụng dd và tôi cũng chưa thử nghiệm.

Bạn sẽ có thể sử dụng UNetBootIn để chuyển hệ thống tệp trong ISO sang ổ USB. UNetBootIn là một tiện ích đa nền tảng, nguồn mở để chuyển hình ảnh CD / DVD có thể khởi động vào ổ đĩa USB.

Chạy UNetBootIn (chạy trên Windows, Mac OS X và Linux) và chọn Disk Imagenút radio. Sau đó chọn ISOtừ menu thả xuống (ISO là mặc định) và đặt đường dẫn đến tệp ISO vào trường đường dẫn. Từ đó chọn ổ USB mong muốn để chuyển nó vào và nhấp OK.

nhập mô tả hình ảnh ở đây


2
Tôi đã thử nghiệm nó, nó dường như hoạt động, khu vực khởi động được tìm thấy, nhưng nó cảnh báo về 'hệ điều hành bị thiếu'. Tôi không chắc đó có phải là vấn đề với hình ảnh tôi đã sử dụng không, nhưng tôi nghi ngờ nó. Đi chơi với điều này nhiều hơn một chút mặc dù nó đã xuất hiện để viết khu vực khởi động đúng cách.
Lana Miller

@LanaMiller Tôi gặp lỗi tương tự, trong khi thử khởi động bằng thẻ nhớ USB với Windows 7 Professional x64, bạn đã quản lý để giải quyết chưa?
Chris-Top

0

Chỉ cần tìm thấy một câu trả lời ở đây

# fdisk /dev/sdY

create single partition type 7+bootable partition

# mkfs.ntfs -f /dev/sdY1
# ms-sys -7 /dev/sdY

# mount -o loop win7.iso /mnt/iso
# mount /dev/sdY1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/
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.