LINUX.ORG.RU

mkisofs, wodim, dd - понимание работы


0

0

есть образ cd диска размером 21653504 байт (команда его создания: mkisofs -o disk.iso -uid 0 -gid 0 -dir-mode 0555 -RJU -iso-level 3 -joliet-long -input-charset utf8 ./dir)
записываю его на cd-rw командой: wodim blank=fast dev=/dev/sr0 ./disk.iso
считываю с записанного диска данные: dd if=/dev/sr0 of=disk1.iso - получаю размер 21655552
21655552 - 21653504 = 2048
почему dd считала "лишние" 2048 байт ?
как сделать чтобы образы disk.iso и disk1.iso были одинаковыми?

★★★★★
Ответ на: комментарий от redgremlin

Хотя по дефолту, вроде, 512 идет, но вдруг 4096 в этом дистре...

redgremlin ★★★★★
()

меня терзают смутные сомнения, что эти 2 килобайта - boot record...:) Поправьте если не так...

sidor ★★
()
Ответ на: комментарий от sidor

вот еще что (не обратил сразу внимание):
$dd if=/dev/sr0 of=iso1.iso
dd: reading `/dev/sr0': Input/output error
42296+0 records in
42296+0 records out
21655552 bytes (22 MB) copied, 40,0999 s, 540 kB/s

получается dd кончил работу когда обнаружил ошибку, может в этом дело ? неправильный образ?
я сравнил эти 2 фала - различий нет, disk1.iso просто кончился раньше:
значит это не boot сектор

x905 ★★★★★
() автор топика
Ответ на: комментарий от x905

посмотрел как k3b пишет, добавил "-dao -eject -data", все стало сходится

x905 ★★★★★
() автор топика

Подозреваю, что это какой-нибудь lead-out или что-нибудь из этой серии, что пишется на диск по стандарту, но не входит в сам образ (ISO)

no-dashi ★★★★★
()

Когда вы читаете с помощью команды dd с CD-ROM идет чтение по 2048 (это размер "сектора" на компакт-диске). При этом вы читаете устройство, пока не встретится ошибка. А iso-образ --- это файловая система. Поэтому чтобы считать точное кол-во блоков с диска задавайте dd его размер.

count=`isosize -d 2048 /dev/cdrom`

mky ★★★★★
()
Ответ на: комментарий от mky

да, isosize помогает, буду знать

x905 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.