Чтение с конца диска с дд
Как я могу читать с конца диска с dd
? Я думал об использовании size - to_read
но я понятия не имею, как получить размер в байтах.
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
Получить общий размер диска в байтах:
fdisk -l / dev / sda Диск /dev/sda: 1000,2 ГБ, 1000204886016 байт 255 головок, 63 сектора / дорожка, 121601 цилиндров Единицы = цилиндры 16065 * 512 = 8225280 байт Система Идентификатора Начальной Загрузки Конца Блокировки /dev/sda1 * 1 7 56196 fd Linux raid автоопределение /dev/sda2 8 257 2008125 83 Linux /dev/sda3 258 121602 974698231+ fd Linux raid автоопределение
Получить последние 100 байт с диска с помощью dd:
дд если =/dev/sda из =/tmp/endofdisk.data bs=1 пропуск =1000204885916 count=100
Обратите внимание на общий размер диска в первой строке вывода fdisk. Я использовал 1-байтовый размер блока, но, конечно, если вы копируете более пары байтов, используйте блоки размером 1 КБ или 1 МБ. Рассчитайте размер вручную (разделите на 1024) и замените bs=1
с bs=1024
за 1к блоков.