Я підозрюю, що на диску може бути поганий сектор. Я використовував файлову систему ext3.
Який інструмент найкращий еквівалент інструменту перевірки помилок Windows?
Я підозрюю, що на диску може бути поганий сектор. Я використовував файлову систему ext3.
Який інструмент найкращий еквівалент інструменту перевірки помилок Windows?
Відповіді:
Щоб перевірити наявність поганих секторів, перевірте дані SMART, можливо, найкраще доступні, запустивши утиліту Disks ( Palimpsest ). Навіть якщо ви там не бачите жодних поганих блоків, переконайтеся в самотесті.
Програма входить у gnome-disk-utility
пакет. Біжиgksudo gnome-disks
Або у версії Ubuntu 16.04 (3.18):
Ви також можете використовувати badblocks
sudo badblocks -sv /dev/sda
просто перевірити або спочатку перевірити та виправити результат у тимчасовий файл:
sudo badblocks -sv /dev/sda > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1
перевірить весь диск і роздрукує всі погані блоки, що зустрічаються в / dev / sda .
З badblocks
посібника:
Важливе зауваження: Якщо висновок поганих блоків буде подаватися програмам e2fsck або mke2fs, важливо правильно вказати розмір блоку, оскільки створені номери блоків дуже залежать від розміру блоку, який використовує файлова система . З цієї причини настійно рекомендується користувачам не запускати погані блоки безпосередньо, а скоріше використовувати опцію -c програм e2fsck та mke2fs.
fsck
fsck
сама по собі не допоможе вам знайти погані сектори, що ще гірше, якщо є багато поганих секторів, це може ще більше пошкодити ваші дані. Використовуйте його лише тоді, коли диск здоровий.
Протягом цієї відповіді я припускаю, що накопичувальний накопичувач з'являється як блок пристрою на шляху /dev/sdc
. Щоб знайти шлях накопичувача в поточній установці, використовуйте:
palimpsest
), якщо GUI доступний, абоlsblk
і ls -l /dev/disk/by-id
і спробувати знайти потрібний пристрій за розміром, секціонування, виробника і назву моделі.Іноді носій просто відмовляється взагалі працювати. Він все ще з'являється як блоковий пристрій до ядра та в диспетчері дисків, але його перший сектор, що містить таблицю розділів, не читабельний. Це легко підтвердити за допомогою:
sudo dd if=/dev/sdc of=/dev/null count=1
Якщо ця команда призводить до повідомлення про "помилку введення / виводу", наш привід порушений або іншим чином не вдається взаємодіяти з ядром Linux, як очікувалося. У колишньому випадку, за допомогою трохи удачі, фахівець із відновлення даних з належно обладнаною лабораторією може врятувати його вміст. В останньому випадку варто спробувати іншу операційну систему. (Я натрапив на USB-накопичувачі, які працюють у Windows без спеціальних драйверів, але не в Linux або OS X.)
Пристрої, що підтримують його, можна запитати про стан свого здоров’я через SMART або доручити виконувати самотести самовипробування різної ретельності. Це, як правило, найкращий варіант, але, як правило, доступний лише на (не старовинному) жорсткому диску та твердотільних накопичувачах. Більшість знімних флеш-носіїв не підтримують його.
Подальші ресурси та інструкції:
Щоб перевірити цілісність читання всього пристрою, не записуючи на нього, ми можемо використовувати badblocks(8)
так:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Ця операція може зайняти багато часу, особливо якщо накопичувач накопичувач пошкоджений. Якщо кількість помилок зросте вище нуля, ми будемо знати, що це поганий блок. Ми можемо спокійно перервати роботу в будь-який момент (навіть насильно, як під час відключення електроенергії), якщо нас не цікавить точна кількість (а може бути, місце) поганих блоків. Можливо, перервавшись автоматично при помилці за допомогою параметра -e 1
.
Примітка для розширеного використання: якщо ми хочемо повторно використовувати висновок для e2fsck
, нам потрібно встановити розмір блоку ( -b
) у розмірі файлової системи, що міститься. Ми також можемо налаштувати кількість даних ( -c
у блоках), протестованих одразу, щоб поліпшити пропускну здатність; 16 Мбіт має бути добре для більшості пристроїв.
Іноді - особливо при флеш-носіях - помилка виникає лише при спробі запису. (Це не буде надійно виявити (спалах) медіа, які рекламують більший розмір, ніж вони є насправді; замість цього використовуйте Fight Flash Fraud .)
НІКОЛИ не використовуйте це на диску з встановленими файловими системами ! badblocks
відмовляється діяти на них все одно, якщо тільки ви не примусите його.
Не переривайте цю операцію насильно ! Ctrl+ C(SIGINT / SIGTERM) і чекати витонченого передчасного припинення нормально, але killall -9 badblocks
(SIGKILL) - це не так. Після примусового припинення badblocks
не вдасться відновити вихідний вміст поточно перевіреного діапазону блоків, і він залишить його перезаписаним непотрібними даними та, можливо, пошкодить файлову систему.
Щоб використовувати неруйнівні чеки читання-запису, додайте -n
параметр до вищевказаної badblocks
команди.
Як зазначено вище, але не відновлюючи попередній вміст диска після виконання тесту на запис, тому це трохи швидше. Оскільки дані все-таки стираються, примусове припинення залишається без (додаткових) негативних наслідків.
Для використання руйнівних чеків читання-запису додайте -w
параметр до вищевказаної badblocks
команди.
fsck - перевірка та відновлення файлової системи Linux. Викликайте це за допомогою
fsck /dev/sda1
де / dev / sda1 - диск, який ви хочете перевірити. Докладнішу інформацію див. У розділі "man fsck".
Існує також команда 'badblocks', яка перевіряє пристрій на предмет, ви здогадалися, погані блоки.
Диск потрібно відключити під час перевірки, тому для перевірки кореневого розділу потрібно створити файл «forcefsck» у корені розділу та перезавантажити. Пристрій перевірятиметься при наступному завантаженні:
sudo touch /forcefsck
sudo reboot
Крім того, ви можете завантажитися з Live CD і запустити чек звідти.
sudo dumpe2fs -b /dev/sda9
. Але я думаю, що краще, якщо диск піклується про несправні сектори, а не для файлової системи (SMART, погані блоки тощо), дивіться мій пост).
Ви можете перевірити наявність несправних блоків, що виконують команду
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
для неруйнівного тесту читання-запису. Це створить файл, викликаний bad-blocks-result
із пошкодженими секторами.
-n Використовуйте неруйнівний режим читання-запису. За замовчуванням робиться лише неруйнівний тест лише для читання.
-s Показати хід сканування, виписавши приблизний відсоток завершення поточного неполадки, що проходить через диск.
-v Докладний режим.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
щоб повідомити файловій системі, де знаходяться погані сектори, і перемістити дані, якщо це можливо.Ви можете прочитати більше про це тут .
fsck
Команда ні з btrfs
файловими системами.
IMO smartctl - кращий інструмент. Ймовірно, спочатку доведеться встановити його
sudo apt-get install smartmontools
Тоді
sudo smartctl -a /dev/sda | less
друкувати дані про стан здоров'я, атрибути та доступні результати тестів. Щоб менше вийти, введіть q
. Як варіант
sudo smartctl -H /dev/sda
просто надрукувати дані про стан здоров'я.
Щоб розпочати новий короткий (кілька хвилин) або довгий (до багатьох годин) самотест у фоновому режимі:
sudo smartctl -t [short|long]
GSsmartControl ( домашня сторінка ) та Gnome Disks - це графічні передні частини, якщо вам більше подобається.
smartctl
повідомили: "Невідомий USB-міст", "Вкажіть тип пристрою з опцією -d". Я знайшов потрібні мені дані на: smartmontools.org/wiki/Supported_USB-Devices .
F3 (Fight Flash Fraud) - ще один варіант, який повинен додатково виявити підроблені флешки (флешки, фактична потужність яких є часткою рекламованої ємності):
Встановіть F3
sudo apt install f3
Вставте свій привід
Запишіть дані тесту у вільний простір на диску (перевірте, де встановлений ваш привід lsblk
)
f3write /media/$USER/D871-DD7C/
Прочитайте дані тесту
f3read /media/$USER/D871-DD7C/
Довідка:
Badblocks працює добре, але він не розроблений для виявлення підроблених флеш-дисків і може не повідомляти про них помилок .
badblocks
з -w
або з fsck
позначенням секторів як поганих / пошкоджених, тому вони не використовуються. f3 може повернути щось на кшталт Corrupted: 16.01 MB (32784 sectors)
, але чи позначає це як поганий сектор? Або нам ще потрібні погані блоки для цього? Я намагаюся зdumpe2fs -b
і, здається , ідентифікатор не зазначає.
Ви можете перевірити-прочитати весь диск, показуючи показник прогресу:
time sudo pv /dev/sdc >/dev/null
Деякі проблеми з диском виявляться як повідомлення про помилки вводу / виводу. Це трохи приємніше, ніж dd
завдяки індикатору прогресу і тому, що інтерфейс командного рядка є трохи більш стандартним і трохи менш схильним до друку . Зауважте, що pv
це в основному і вдосконалена версія cat
. Він може бути встановлений за замовчуванням, але його можна встановити за допомогою sudo apt-get install pv
.
Аналогічний підхід полягає в тому, щоб прочитати диск з одним із декількох доступних інструментів, які спеціально знають про помилки вводу / виводу диска - і мають особливість "намагатися рятувати дані". Шукайте ddrescue
в менеджері пакунків.
dd count=1
також досить швидко, якщо накопичувач не повністю зламаний (або не підтримується).
ddrescueview
dd
має індикатор прогресу з status=progress
.
Якщо у вас є розділ, який НЕ МОЖЕ ВИБУТИ ДАНІ, виконайте ці дії
$fdisk -l commnd
Давайте припустимо, що розділ для перевірки називається / dev / sdPTC (розділ для перевірки) і що у вас є інший розділ для зберігання результатів, встановлених у / scan / resultPath / folder
2.Тоді ви можете запустити цю команду
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
який визначить, які є погані блоки даного пристрою та збереже їх у файлі під назвою badsectors.txt
fsck
команду, щоб сказати Ubuntu не використовувати погані сектори, згадані у файлі badsectors.txt.$sudo fsck -l /scan_result/badsectors.txt /dev/sda
Таким чином термін служби жорсткого диска трохи збільшується, поки ви не отримаєте новий для заміни.
Якщо у вас є повний розділ, який ви хочете перевірити на наявність неправильних фізичних секторів, і ви МОЖЕТЕ ВІДБУДАТИ ВСІ ДАНІ на цьому розділі або ВИПУСКОВО виконайте ці кроки
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Перевірте та перевірте, чи немає важливих даних про цей розділ
Використовуючи gnome-disks
DELETE / REMOVE розділ вручну, використовуючи знак "-"
Використовуючи gnome-disks
СТВОРИТИ новий розділ та виберіть параметр "повільний", який перевірятиме заданий простір на помилки
bionic beaver
різному обробляє перевірки диска?