Какой путь является самым быстрым для `dd` до последних 512 килобайт диска

8758
teerapap

У меня есть диск 512 ГБ, и я хочу очистить последние 512 Кбайт в конце диска.

Я обычно очищаю это dd if=/dev/zero of=/dev/da0 целым диском.

Каким способом быстрее всего выполнить эту операцию?

6

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

7
ddiepo

Как уже указывалось, ddпринимает seek=BLOCKSпараметр, который пропускает BLOCKSблоки в выходном файле.

Теперь вам нужно знать точный размер диска, если вы хотите записать последние 512 КБ . В Linux вы можете использовать blockdev --getsz DEVICEкоманду для получения размера в 512B .

Таким образом, командная строка становится примерно такой:

dd if=/dev/zero of=$YOUR_DEV bs=512 seek=$(( $(blockdev --getsz $YOUR_DEV) - 1 )) count=1 
Этот принятый (?) Ответ очищает последние 512 байт файла, тогда как вопрос был около 512 килобайт, что довольно много. Команда должна быть: `dd if = / dev / zero of = $ YOUR_DEV bs = 512 seek = $ (($ (blockdev --getsz $ YOUR_DEV) - 1024)) count = 1024` jlliagre 11 лет назад 5
1
Ignacio Vazquez-Abrams

Используйте seekпредикат, чтобы перейти к концу диска.