Недавно я установил Ubuntu 18.04 Server на диск nvme на ПК. Во время установки я решил использовать GPT и EXT4. После нескольких недель нормальной работы в системе произошел сбой диска, и он больше не загружался непосредственно в ОС.
Загрузка в ОС теперь возможна только при выборе диска nvme в качестве загрузочного диска в BIOS. Затем система будет работать в обычном режиме до следующего сбоя диска.
Для устранения неполадок я попытался запустить fsck: sudo fsck /dev/nvme0n1
. Это дает ошибку, The superblock could not be read or does not describe a valid ext2/ext3/ext4 filesystem
.
Однако, если я fsck
определю разделы, результатом будет либо та же ошибка, либо чистый отчет fsck.
/dev/nvme0n1p1
) - это загрузочный раздел размером 1 МБ. fsck
это дает ошибку суперблока. /dev/nvme0n1p2
) использует оставшееся место на диске. fsck
Это дает чистые результаты. Мои вопросы:
fsck
не работает. Какова типичная файловая система или организационная схема загрузочного раздела? Здесь вывод из lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL | egrep -v "^loop"
NAME FSTYPE LABEL MOUNTPOINT SIZE MODEL
sda 1.8T ST2000DM008-2FR1
└─sda1 ext4 1.8T
sdb iso9660 Ubuntu-Server 18.04.2 LTS amd64 /cdrom 14.9G USB Flash Drive
├─sdb1 iso9660 Ubuntu-Server 18.04.2 LTS amd64 834M
└─sdb2 vfat Ubuntu-Server 18.04.2 LTS amd64 2.4M
nvme0n1 465.8G Samsung SSD 970 EVO Plus 500GB
├─nvme0n1p1 1M
└─nvme0n1p2 ext4 465.8G
Здесь вывод из sudo parted -l
Model: ATA ST2000DM008-2FR1 (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2000GB 2000GB ext4
Model: Samsung SSD 970 EVO Plus 500GB (nvme)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 500GB 500GB ext4
При использовании более старого ядра более новое может решить проблему. Однако в Arch Linux Solid State Drive / NVMe говорится:
Ошибки накопителя Samsung в Linux 4.10
В Linux 4.10 могут возникать ошибки накопителя, приводящие к возникновению систем нестабильность. Похоже, это является результатом состояния энергосбережения, которое накопитель не может использовать. Добавление параметра ядра
nvme_core.default_ps_max_latency_us=5500
отключает самое низкое состояние энергосбережения, предотвращая ошибки записи.
Звучит как твой лучший первый шаг.
Мой Samsung 960 Pro похож на ваш Samsung 970 EVO. В качестве примера я добавлю свою собственную систему, и после ремонта ваша будет выглядеть аналогично:
$ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL | egrep -v "^loop"
NAME FSTYPE LABEL MOUNTPOINT SIZE MODEL
nvme0n1 477G Samsung SSD 960 PRO 512GB
├─nvme0n1p9 swap [SWAP] 7.9G
├─nvme0n1p7 ext4 Old_Ubuntu_16.04 /mnt/old 23.1G
├─nvme0n1p5 ntfs 859M
├─nvme0n1p3 16M
├─nvme0n1p1 ntfs 450M
├─nvme0n1p8 ntfs Shared_WSL+Linux /mnt/e 9G
├─nvme0n1p10 ext4 Ubuntu_18.04 /mnt/clone 27.2G
├─nvme0n1p6 ext4 New_Ubuntu_16.04 / 45.1G
├─nvme0n1p4 ntfs NVMe_Win10 /mnt/c 363.2G
└─nvme0n1p2 vfat /boot/efi 99M
sr0 1024M DVD+/-RW DW316
sda 931.5G HGST HTS721010A9
├─sda4 ntfs WINRETOOLS 450M
├─sda2 128M
├─sda5 ntfs Image 11.4G
├─sda3 ntfs HGST_Win10 /mnt/d 919G
└─sda1 vfat ESP 500M