Как я могу читать с конца диска с dd
? Я думал об использовании size - to_read
но я не знаю, как получить размер в байтах.
2 ответа
2
Это должно быть "дд"? GNU 'ddrescue' имеет удобную "обратную" опцию:
# copy the last 1K from '/dev/sdc' to '/tmp/c_end'
% ddrescue --reverse --max-size=1Ki /dev/sdc /tmp/c_end
Press Ctrl-C to interrupt
rescued: 1024 B, errsize: 0 B, current rate: 1024 B/s
ipos: 0 B, errors: 0, average rate: 1024 B/s
opos: 0 B, time from last successful read: 0 s
Finished
1
Получить общий размер диска в байтах:
fdisk -l /dev/sda Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 7 56196 fd Linux raid autodetect /dev/sda2 8 257 2008125 83 Linux /dev/sda3 258 121602 974698231+ fd Linux raid autodetect
Получить последние 100 байтов с диска с помощью dd:
dd if=/dev/sda of=/tmp/endofdisk.data bs=1 skip=1000204885916 count=100
Обратите внимание на общий размер диска в первой строке вывода fdisk.
Я использовал 1-байтовый размер блока, но, конечно, если вы копируете более пары байтов, используйте блоки размером 1 КБ или 1 МБ. Рассчитайте размер вручную (разделите на 1024) и замените bs=1
на bs=1024
для блоков размером 1 КБ .