Чтение с конца диска с дд

Как я могу читать с конца диска с 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к блоков.

Другие вопросы по тегам