fsck показывает ошибку для смонтированного корневого каталога, но нет ошибки для несмонтированного при выполнении на загрузочной флешке. Как мне исправить?

Я застрял в проблеме. Команды fsck на настольном компьютере показали ошибку файловой системы для смонтированного корневого каталога. Итак, я создал загрузочную флешку Ubuntu и загрузил ее. И затем я попытался исправить ошибку файловой системы, выполнив fsck на USB-накопителе, поскольку fsck не может исправить подключенный каталог. Тем не менее, fsck на USB-накопителе не показал ошибки. Как мне исправить эту ошибку файловой системы?

( fsck на настольном компьютере)

$ sudo fsck -nf /dev/nvme0n1p2
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
Warning!  /dev/nvme0n1p2 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Inodes that were part of a corrupted orphan linked list found.  Fix? no

Inode 6816186 was part of the orphaned inode list.  IGNORED.
Inode 6816770 was part of the orphaned inode list.  IGNORED.
Inode 6883264 was part of the orphaned inode list.  IGNORED.
Inode 6883789 was part of the orphaned inode list.  IGNORED.
Inode 6887919 was part of the orphaned inode list.  IGNORED.
Inode 6887920 was part of the orphaned inode list.  IGNORED.
Inode 6887925 was part of the orphaned inode list.  IGNORED.
Inode 6887929 was part of the orphaned inode list.  IGNORED.
Deleted inode 6887947 has zero dtime.  Fix? no

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  -(9588738--9588745) -(9588760--9588764) -(9597955--9597964) -(9998851--9998855) -(27306830--27306834) -(27307548--27307557) -34598400
Fix? no

Free blocks count wrong (43144465, counted=43144229).
Fix? no

Inode bitmap differences:  -6816186 -6816770 -6883264 -6883789 -(6887919--6887920) -6887925 -6887929 -6887947
Fix? no

Free inodes count wrong (14401240, counted=14401183).
Fix? no


/dev/nvme0n1p2: ********** WARNING: Filesystem still has errors **********

/dev/nvme0n1p2: 557352/14958592 files (0.5% non-contiguous), 16670447/59814912 blocks

( fsck на загрузочном USB-накопителе)

ubuntu@ubuntu:~$ sudo fsck -fy /dev/nvme0n1p2
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/nvme0n1p2: 557879/14958592 files (0.6% non-contiguous), 16680714/59814912 blocks

ubuntu@ubuntu:~$ sudo fsck -fn /dev/nvme0n1p2
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/nvme0n1p2: 557879/14958592 files (0.6% non-contiguous), 16680714/59814912 blocks
ubuntu@ubuntu:~$ 

К вашему сведению:

Ubuntu 18.04 LTS для настольного компьютера и загрузочного USB-накопителя

Не открывается окно терминала, пока может открываться xterm. Я считаю, что ошибка файловой системы может повлиять на этот сбой открытия.

0
задан 13 July 2020 в 09:17

2 ответа

Apparently, your first check is a "read only" check of an active, mounted file system. That will not be reliable. The check from your USB live session, while the partition is not mounted, is the correct one.

So don't worry. The system drives are automatically subject to a quick check each start up, and temporarily a more rigid check, which goes fast with the ext4 file system. You still can force a full check at startup by creating an empty file forcefsck in the root directory of the volume:

sudo touch /forcefsck

will create the file in your root file system and signal the system to fully check it when the system is restarted. After the check, the empty file is automatically removed.

0
ответ дан 30 July 2020 в 22:08

Хорошо иметь некоторую справочную информацию о том, что такое иноды и что такое инертный инод, когда вы сталкиваетесь с таким сообщением.

На https://unix.stackexchange.com/questions/290116. / what-is-orphan-inode Я прочитал следующее объяснение Стивена Китта:

Сиротский инод - это инод, который не привязан к каталогу запись в файловой системе, что означает, что она не может быть достигнута.

Осиротевшие иноды могут появляться по ряду причин:

временные файлы, которые удаляются, но остаются открытыми (обычная практика) занимать inode в файловой системе; если система перезагрузится без при правильном закрытии эти иноды остаются и становятся сиротами Повреждение файловой системы может повредить каталог, не затрагивая inode файлов, содержащихся в каталоге; эти иноды тогда осиротевший fsck создает новые записи каталога для осиротевших инодов в lost + found.

Чтобы понять систему inode, взгляните на https://linuxhandbook.com/inode-linux/ Эрика Симарда. Это немного технически, но это делает для интересного чтения. Вкратце:

Инод - это структура данных ... ... которая хранит всю информацию о файл, кроме его имени и его фактических данных.

Спасибо за ваш вопрос; это заставило меня понять Linux немного лучше!

1
ответ дан 30 July 2020 в 22:08

Другие вопросы по тегам:

Похожие вопросы: