Làm cách nào để xác định xem ISO có phải là hybrid không?


19

Theo đó: http://en.wikipedia.org/wiki/ISO_image#Mô tả

"Một ví dụ gần đây hơn là việc phát hành các tệp ISO lai có thể được khởi động hoặc bắt đầu từ cả hai thiết bị ổ đĩa flash BD hoặc DVD và USB khi hình ảnh được ghi vào bất kỳ thiết bị lưu trữ nào."

Làm cách nào để sử dụng các công cụ Linux tiêu chuẩn để xác định xem ISO tôi đã tải xuống (chỉnh sửa: hoặc được tạo thông qua genisoimage) có phải là kết hợp không?

Cảm ơn!


1
Kiểm tra bộ pin?
Daniel R Hicks

Câu trả lời:


11

Chạy fdisk trên tập tin. Nếu nó cho thấy bất cứ điều gì có ý nghĩa, nó là lai.


3
Bạn có ý nghĩa gì bởi "bất cứ điều gì có ý nghĩa"? Nếu tôi chạy fdisk trên win7.iso, tôi nhận được bốn dòng về kích thước cung, v.v. Tôi vẫn không nghĩ đó là hybrid. dán.ee / p / r60ZR . Bạn có thể rõ ràng hơn xin vui lòng?
Mads Skjern

8

Chạy filelệnh trên hình ảnh ISO trong câu hỏi. Đầu ra từ việc chạy lệnh này trên ISO không lai sẽ trông giống như thế này

image.iso: ISO 9660 CD-ROM filesystem data 'foo' (bootable)

trong khi đầu ra từ việc chạy lệnh này trên ISO lai sẽ trông giống như thế này

image.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'foo' (bootable); partition 1 : ID=0x17, active, start-CHS (0x0,0,1), end-CHS (0x288,63,32), startsector 0, 1329152 sectors


3

Bạn có thể sử dụng tập lệnh này để kiểm tra ảnh ISO ( -icờ cho "kiểm tra")

https://github.com/jsamr/bootiso

bootiso -i "your iso image"

Tạo một thiết bị có khả năng khởi động USB từ hình ảnh ISO một cách dễ dàng và an toàn.

Không muốn làm rối hệ thống bằng lệnh dd? Tạo USB có thể khởi động từ ISO trong một dòng [xem nó hoạt động].

Hoạt động hoàn hảo với các ISO lai và không lai (tuân thủ SYSLINUX hoặc UEFI) như bất kỳ ISO linux, ISO ISO nào hoặc giải cứu các cds sống như UltimateBootCD. Bạn không phải điều chỉnh bất cứ điều gì: bootiso kiểm tra tệp ISO và chọn phương pháp tốt nhất để làm cho USB của bạn có thể khởi động.


1

Bạn có thể chạy head -c 512 thefile.iso > bytes.txt.

Trong một ISO không kết hợp thích hợp, tất cả các byte phải là số không (có thể không hiển thị theo mặc định trong trình soạn thảo văn bản của bạn). Mặc dù về mặt lý thuyết, chúng có thể chứa bất kỳ rác ngẫu nhiên nào, vì vậy trong trường hợp khác không, khó xác nhận hơn nếu đó là một phép lai mà không cần phân tích sâu hơn về các byte.

Đối với người dùng Windows, bạn có thể cài đặt gói coreutils gnuwin32 để nhận lệnh đó.


1

Điều này phát hiện một bảng phân vùng, không có trong phương tiện ROM không lai:

cat romdisk.iso 2>/dev/null | head -c 512 | tail -c 2 | xxd -p | grep -ie '55aa$'

Những gì tôi không biết cách xác định là giữa hình ảnh lai-ISO và hình ảnh đĩa cứng:

cat disk.img 2>/dev/null | head -c 512 | hexdump -vC

0

Câu trả lời của @ chaosape nên là giải pháp được chấp nhận.

Sau khi sử dụng file, nếu ISO hóa ra không phải là hybrid và bạn cần nó (ví dụ: để tạo USB có thể khởi động), chỉ cần sử dụng isohybridđể chuyển đổi nó:

isohybrid [PATH_TO_ISO]

Bạn cũng có thể sử dụng các cờ như -uđể làm cho nó có khả năng khởi động UEFI.

https://www.mankier.com/1/isohy điều chỉnh

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.