Почему не делает “Диска, который Utility.app” распознают мой 'dd '-copied диск?

Версия Краткого изложения Вопроса Да ведь когда я пытаюсь скопировать образ CD ISO на устройство флэш-памяти USB, я получаю много странных поведений?

Исходная версия Вопроса, со всеми подробностями — следующее напрашивается на неприятности: с картой флэш-памяти с интерфейсом USB в/dev/disk1 и CD-ROM в/dev/disk2 следующим образом (на Mac OS 10.4):

cas cas$ diskutil list
# deleting irrelevant output
/dev/disk1
   #:                   type name               size      identifier
   0: FDisk_partition_scheme                    *3.7 GB   disk1
   1:              Apple_HFS usr-kodp           614.4 MB  disk1s1
   2:              Apple_UFS glowline           1.8 GB    disk1s2
   3:             DOS_FAT_32 VAR-KODP           1.2 GB    disk1s3
/dev/disk2
   #:                   type name               size      identifier
   0:    CD_partition_scheme                    *557.1 MB disk2
   1: Apple_partition_scheme                    485.1 MB  disk2s1
   2:    Apple_partition_map                    1024.0 B  disk2s1s1
   3:              Apple_HFS KoDP               479.5 MB  disk2s1s2

Попытайтесь ударить раздел флеш-накопителя disk1s1 с тремя разделами CD-ROM disk2s1:

cas cas$ dd if=/dev/disk2s1 of=/dev/disk1s1 bs=1024 count=496742

Получающийся раздел не смонтируется, и Дисковая утилита не может восстановить его:

Verify and Repair disk “disk1s1”
Checking HFS volume.
Invalid B-tree node size
Volume check failed.

Теперь diskutil говорит мне:

/dev/disk1
   #:                   type name               size      identifier
   0: FDisk_partition_scheme                    *3.7 GB   disk1
   1:              Apple_HFS usr-kodp           614.4 MB  disk1s1
   2:              Apple_UFS glowline           1.8 GB    disk1s2
   3:             DOS_FAT_32 VAR-KODP           1.2 GB    disk1s3

Что это значит? Это почти наверняка, потому что мое избиение означает, что корневая карта раздела disk1 говорит этому, что disk1s1 является все еще Apple_HFS, даже при том, что его содержание является файловой системой Apple_partition_scheme, но разве Дисковая утилита не должна мочь вывести тип disk1s1, если это - проблема? И почему делает diskutil, говорят мне:

cas cas$ diskutil mount /dev/disk1s1
Volume /dev/disk1s1 mounted

... когда на самом деле никакая файловая система не смонтирована?

2
задан 07.07.2010, 14:21

1 ответ

Это - образованные догадки; я не знаю OSX или diskutil хорошо, но я действительно знаю общие файловые системы и блочные устройства, таким образом, я думаю, что знаю то, что продолжается. Многое из этого могло быть неточным, хотя; это сделало CW так, чтобы эксперты по файловой системе OSX могли исправить это по мере необходимости.


Я не думаю, что CD на самом деле имеет 3 раздела для Вас для копирования. Какой список diskutil показывает, что Вы-/dev/disk2, это - единственное дочернее устройство, и что собственные 2 дочерних устройства ребенка:

  • /dev/disk2 "CD_partition_scheme" - это - "физический" CD

    1. /dev/disk2s1 "Apple_partition_scheme" - первая дорожка CD, если я понимаю устройство OSX, называющее правильно. От различия в размере с родительским устройством и этим, я думаю, что это - CD минус коррекция ошибок данных.

      1. /dev/disk2s1s1 "Apple_partition_map" - от размера, это похоже на таблицу разделов или таблицу файлов

      2. /dev/disk2s1s2 "Apple_HFS" - это - фактическая файловая система

Таким образом, то, что Вы скопировали на свой раздел USB, не было тремя разделами; это было чтобы содержание CD минус данные коррекции ошибок. Ваш раздел USB должен теперь содержать эквивалент ISO-образа CD.

Это, вероятно, почему это не смонтируется. Я не знаком с усовершенствованными diskutil опциями, но если бы я сделал что-то подобное в системе Linux со стандартными данными ISO9660 CD, я использовал бы это, чтобы попытаться монтировать раздел USB:

mount -t iso9660 /dev/myusbdevice /mnt/path

... и возможно который работал бы. Но на основе Вашего вопроса, Вы, кажется, пытаетесь получить доступ к тому разделу USB как к файловой системе, и, учитывая Вашу команду dd и вышеупомянутое, это не файловая система - это - образ CD.


Отвечать на Ваш вопрос затем:

Что делает "Недопустимый размер узла B-дерева", средний? Это означает, что Дисковая утилита не распознает допустимую файловую систему на/dev/disk1s1. Ваша команда dd скопировала то, что Вы сказали ей копировать, но что Вы сказали, что это для копирования не является файловая система. Когда Вы работаете, "Проверяют и Восстановление" операция на нем, проверить сбои, потому что это ожидает файловую систему, и это получает карту раздела CD.

При попытке скопировать файловую систему с dd, Вы, вероятно, хотите скопировать/dev/disk2s1s2 и не/dev/disk2s1.

3
ответ дан 08.12.2019, 07:36

Теги

Похожие вопросы