Показать статистику
0 голосов
от (1.7тыс. баллов)

Наша Ubuntu превратилась в файловую систему только для чтения.

Я проверил журнал dmesg и нашел следующее:

kernel: ata5.00: exception Emask 0x0 SAct 0x200000 SErr 0x0 action 0x0
kernel: ata5.00: irq_stat 0x40000008
kernel: ata5.00: failed command: READ FPDMA QUEUED
kernel: ata5.00: cmd 60/08:a8:68:08:80/00:00:3f:00:00/40 tag 21 ncq dma 4096 in
                 res 51/40:08:68:08:80/00:00:3f:00:00/40 Emask 0x409 (media error) <F>
kernel: ata5.00: status: { DRDY ERR }
kernel: ata5.00: error: { UNC }
kernel: ata5.00: configured for UDMA/133
kernel: sd 4:0:0:0: [sda] tag#21 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
kernel: sd 4:0:0:0: [sda] tag#21 Sense Key : Medium Error [current] 
kernel: sd 4:0:0:0: [sda] tag#21 Add. Sense: Unrecovered read error - auto reallocate failed
kernel: sd 4:0:0:0: [sda] tag#21 CDB: Read(10) 28 00 3f 80 08 68 00 00 08 00
kernel: blk_update_request: I/O error, dev sda, sector 1065355368 op 0x0:(READ) flags 0x3000 phys_seg 1 prio clas>
kernel: EXT4-fs error (device sda1): ext4_wait_block_bitmap:519: comm kworker/u16:0: Cannot read block bitmap - b>
kernel: ata5: EH complete
kernel: Aborting journal on device sda1-8.
kernel: EXT4-fs (sda1): Remounting filesystem read-only

Пытался получить данные smartctl, но не был установлен (и не может установить сейчас).

Единственная информация, которую я получаю от всего этого: Unrecovered read error - auto reallocate failed

Я еще не выключал компьютер... но значит ли это, что жесткий диск умирает? Может ли fcsk это исправить? Есть ли что-нибудь важное в журнале, что мне не хватает? Или мне начать искать новый диск?

267 просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

Ошибки NCQ

kernel: ata5.00: failed command: READ FPDMA QUEUED
kernel: ata5.00: cmd 60/08:a8:68:08:80/00:00:3f:00:00/40 tag 21 ncq dma 4096 in

Native Command Queuing (NCQ) — это расширение протокола Serial ATA, позволяющее жестким дискам внутренне оптимизировать порядок выполнения полученных команд чтения и записи.

Отредактируйте sudo -H gedit /etc/default/grubи измените следующую строку, чтобы включить этот дополнительный параметр. Затем сделайте, sudo update-grubчтобы записать изменения на диск. Перезагрузить. Отслеживайте зависания и т. д. и следите grep -i FPDMA /var/log/syslog*за dmesgсообщениями об ошибках.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"

Проверка файловой системы

  • загрузитесь с Ubuntu Live DVD/USB в режиме « Попробуйте Ubuntu »
  • открыть terminal, нажав Ctrl+ Alt+T
  • sudo fdisk -l
  • определите имя устройства /dev/sdXX для вашей « Файловой системы Linux »
  • введите sudo fsck -f /dev/sda1, заменив sdXX номер, который вы нашли ранее
  • повторите fsck команду, если были ошибки
  • reboot

Плохой блок

Примечание: НЕ прерывайте сканирование плохих блоков!

Примечание: НЕ блокируйте твердотельный накопитель.

Примечание: сделайте резервную копию важных файлов ПЕРВЫМ!

Примечание: это займет много часов

Примечание. У вас может быть ожидающий сбой жесткого диска.

Загрузитесь с Ubuntu Live DVD/USB в режиме « Попробуйте Ubuntu ».

В terminal...

sudo fdisk -l#  идентифицируем все разделы "Файловая система Linux"

sudo e2fsck -fcky /dev/sdXX# тест только для чтения

или

sudo e2fsck -fccky /dev/sda1# неразрушающий тест чтения/записи (рекомендуется)

Параметр -k важен, потому что он сохраняет предыдущую таблицу сбойных блоков и добавляет в эту таблицу все новые сбойные блоки. Без -k вы теряете всю предыдущую информацию о плохих блоках.

Параметр -fccky...

   -f    Force checking even if the file system seems clean.

   -c    This option causes e2fsck to use badblocks(8) program to do
         a read-only scan of the device in order to find any bad blocks.
         If any bad blocks are found, they are added to the bad block
         inode to prevent them from being allocated to a file or direc‐
         tory.  If this option is specified twice, then the bad block scan
         will be done using a non-destructive read-write test.

   -k    When combined with the -c option, any existing bad blocks in the
         bad blocks list are preserved, and any new bad blocks found by
         running badblocks(8) will be added to the existing bad blocks
         list.

   -y    Assume an answer of `yes' to all questions; allows e2fsck to be
         used non-interactively. This option may not be specified at the
         same time as the -n or -p options.
...