"разделяй и властвуй"
Вы можете написать простой сценарий bash для выполнения своей задачи?
затем попробуйте с su
затем попробуйте с nohup
наконец попробуйте запустить как скрипт init.d
Итак, я совершил ошибку: Я поискал на жестком диске поврежденные сектора с помощью команды badblocks вместо mkfs.ext4 с параметром -c в первом место.
Единственная проблема в том, что я не хочу повторять поиск, потому что это заняло примерно 2 дня.
Я выполнил команду, указывающую на файл дескриптора sda, поэтому я думаю, что сейчас у меня есть информация о секторах (адреса LBA).
Итак, я мог просто вычислить и создать два раздела, потому что секторы находятся примерно в одном месте.
Некоторые вопросы:
Я сам понял это сейчас. По умолчанию размер блока 1k (1024) используется при указании на такое устройство, как / dev / sda, а не на раздел.
И когда вы запускаете mke2fs, указывая на устройство, а не на раздел (с начальным и конечным адресами), MBR не записывается / MBR перезаписывается.
$ sudo dd if = / dev / sda bs = 512 count = 1 | hexdump -C
1 + 0 записей в
1 + 0 записей на выходе
Скопировано 512 байт (512 Б), 0,00240179 с, 213 КБ / с
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ |
{{ 1}} *
00000200
Таким образом, вам просто нужно разделить адреса на 4 и иметь в виду, что один блок размером 4 КБ имеет 4 блока по 1 КБ для вычисления адресов.
Тогда вы можете создайте файл и запустите mke2fs с вновь созданным файлом, чтобы изолировать плохие блоки. Примерно так:
mke2fs -f ext4 -l badblocks_file / dev / sdX