Похоже, что для бэдблоков был сделан патч для добавления этого конкретного ограничения. Смотрите здесь под заголовком: Re: [PATCH 04/25] libext2fs: отвергает 64-битные номера бэдблоков.
From: "Darrick J. Wong" oracle.com>
Date: Wed, 23 Oct 2013 19:43:32 -0400
Subject: [PATCH] libext2fs: reject 64bit badblocks numbers
Don't accept block numbers larger than 2^32 for the badblocks list,
and don't run badblocks on them either.
Signed-off-by: Darrick J. Wong oracle.com>
Signed-off-by: Theodore Ts'o mit.edu>
бэдблоков
является частью кодовой базы e2fsprogs. git-репо доступно здесь . Похоже, что бэдблок
также не будет иметь этой возможности в обозримом будущем.
выдержка - Re: [PATCH 18/31] libext2fs: Бэдблоки должны корректно обрабатывать 48-битные номера блоков
Да, я думаю, что в данный момент бэдблоки вестибулярно, а для огромного диска массивы, почти наверняка замена блоков будет передана в LVM, массив хранения данных, или уровень HDD. Так что, возможно, лучше просто иметь mke2fs бросает ошибку при попытке передать 64-битный блок номер.
- Тед
Я тщетно искал вилку из плохих блоков
или альтернативу, но на самом деле ничего не нашел. Единственный вариант - использовать коммерческий инструмент, такой как SpinRite или инструмент с открытым исходным кодом HDAT2. Можно также использовать один из многих инструментов для фитнеса жестких дисков (DFT), которые поставляются производителями жестких дисков. Возможно, один из них позволит вам преодолеть барьер 2^32.
Из представленных на столе вариантов у меня были хорошие успехи с HDAT2 и SpinRite, поэтому я бы, скорее всего, использовал их для того, чтобы попробовать отсканировать эту область блоков, которые находятся в диапазоне 700М.