Почему «Disk Utility.app» не распознает мой `dd`-скопированный диск?

3071
Charles Stewart

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

Оригинальная версия Вопроса, со всеми подробностями . Следующие вопросы вызывают проблемы: с флешкой USB в / dev / disk1 и CD-ROM в / dev / disk2 следующим образом (на Mac OS 10.4):

список cas cas $ discutil # удаление ненужного вывода / DEV / disk1 #: тип идентификатора размера имени 0: FDisk_partition_scheme * 3,7 ГБ, диск1 1: Apple_HFS usr-kodp 614,4 МБ disk1s1 2: Apple_UFS glowline 1,8 ГБ, диск1s2 3: DOS_FAT_32 VAR-KODP, 1,2 ГБ, диск 1 с3 / DEV / disk2 #: тип идентификатора размера имени 0: CD_partition_scheme * 557,1 МБ, диск2 1: Apple_partition_scheme 485,1 МБ, диск2s1 2: Apple_partition_map 1024.0 B disk2s1s1 3: Apple_HFS KoDP 479,5 МБ, диск2s1s2 

Попробуем разделить диск1s1 на флэш-диске тремя разделами диска2s1 на CDROM:

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

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

Проверить и восстановить диск «disk1s1» Проверка объема HFS. Неверный размер узла B-дерева Проверка громкости не удалась. 

Теперь Дискутил говорит мне:

/ DEV / disk1 #: тип идентификатора размера имени 0: FDisk_partition_scheme * 3,7 ГБ, диск1 1: Apple_HFS usr-kodp 614,4 МБ disk1s1 2: Apple_UFS glowline 1,8 ГБ, диск1s2 3: DOS_FAT_32 VAR-KODP, 1,2 ГБ, диск 1 с3 

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

cas cas $ diskutil mount / dev / disk1s1 Том / dev / disk1s1 установлен 

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

2
Ack! стена-о-текст. вы никогда не говорите, что вы на самом деле пытаетесь сделать, и каков ожидаемый результат. Детали вывода хороши, но это слишком много и мало вопросов. quack quixote 14 лет назад 0
@ ~ кря: Да ... много деталей ... Я немного колебался, когда писал вопрос. Но что касается более ясного вопроса, не пришло в голову - есть ли у вас представление о том, что было бы более уместным? Charles Stewart 14 лет назад 0
ну, как я упоминал выше, * «укажите, что вы пытаетесь сделать, как вы пытаетесь это сделать, и что вы надеетесь достичь» *. Это хорошо, если вы просто экспериментируете и пытаетесь понять, как все работает, вместо того, чтобы стремиться к определенной цели, но будьте ясны. может быть, что-то вроде этого: * "Я подумал, что было бы забавно попробовать скопировать файловую систему CD в раздел, но я получаю некоторые странные ошибки. Я скопировал с` dd`, проверил с помощью `diskutil`, и попытался смонтировать, но это не работает. Вот команды, которые я использовал: [...] я ожидал, что он будет монтироваться, так почему же он не работает? "* quack quixote 14 лет назад 0
Посмотрите, как этот пример говорит о том, что вы пытаетесь, затем об основах того, как, затем о проблеме, и выкладываете все это перед добавлением конкретных команд (и выходных данных), и, наконец, оборачивается тем, что вы ожидали? я могу отредактировать ваше сообщение, чтобы оно выглядело лучше, но я не хочу помещать слова в ваш рот. если вы задаете вопрос, я могу помочь придать ему форму, но здесь я не совсем понимаю, в чем заключается вопрос. :) quack quixote 14 лет назад 0
@ ~ шарлатан: я только что украл твой текст: -> Надеюсь, теперь все не так плохо. Charles Stewart 14 лет назад 0
Оу. ну что ж, следовало бы это увидеть. Я постараюсь взломать его в лучшую форму позже. тем временем я наткнулся на вопрос от кого-то, кто попробовал нечто подобное, подумал, что вы это оцените: http://superuser.com/questions/14860/how-to-remove-iso-9660-from-usb quack quixote 14 лет назад 0

1 ответ на вопрос

3
quack quixote

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


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

  • / 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-образа компакт-диска.

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

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

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


Чтобы ответить на ваш вопрос тогда:

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

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

Да. Это совершенно верно. Я думал, что версия вашей команды для Mac-osx - `sudo / sbin / mount_cd9660 / dev / disk1 / Volumes / KoDP`, но он жалуется на" неверный аргумент ". Но это приводит к другому вопросу ... Charles Stewart 14 лет назад 0
Бинго! `sudo / sbin / mount_cd9660 / dev / disk1s1 / Volumes / KoDP` делает эту работу. Charles Stewart 14 лет назад 2

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