Назад | Перейти на главную страницу

Как принудительно включить fsck в корневой файловой системе в Voyage Linux

У меня есть компьютер Voyage Linux (система, производная от Debian) (без головы, то есть без дисплея). Корневая файловая система помечена как поврежденная, и на самом деле есть некоторые ошибки.

Я хотел бы исправить эти ошибки, но не могу. Я пробовал несколько вещей (shutdown -rF now, touch / forcefsck, установить FSCKFIX = yes в / etc / default / rcS, tune2fs -c 1 -C 1 / myfilesystem): проверка не выполняется.

После некоторых поисков я обнаружил, что /etc/init.d/checkroot.sh был настроен на проверку / dev / корень файловая система:

   fstabroot=/dev/root
   #...
   rootcheck=yes

пока df сказал мне это:

Filesystem           1K-blocks      Used Available Use% Mounted on
rootfs                     3541948   1156324   2205660  35% /
/dev/disk/by-label/ROOT_FS 3541948   1156324   2205660  35% /

tune2fs указывает на это:

# tune2fs -l /dev/disk/by-label/ROOT_FS
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   ROOT_FS
Filesystem revision #:    1 (dynamic)
Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         not clean with errors
Errors behavior:          Continue
Filesystem OS type:       Linux
Filesystem created:       Tue Mar 13 09:49:14 2012
Last mount time:          Sat Jan  1 02:36:20 2000
Last write time:          Tue Apr 14 08:38:22 2026
Mount count:              3
Maximum mount count:      1
Last checked:             Fri Jun 15 20:55:44 2012
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Мой fstab выглядит так:

#/dev/hda1      /       ext2    defaults,noatime,rw     0       0
proc            /proc   proc    defaults                0       0
tmpfs       /tmp    tmpfs   nosuid,nodev        0   0
#tmpfs           /rw    tmpfs   defaults,size=32M       0       0

Единственный способ принудительно запустить fsck, который я нашел, - это изменить /etc/init.d/checkroot.sh, задав следующие значения:

   fstabroot=/dev/disk/by-label/ROOT_FS
   #...
   rootcheck=yes

а затем выполнить 'touch /forcefsck' и reboot

Я считаю, что это быстрое и грязное решение для восстановления моей FS.

Что я могу сделать, чтобы отремонтировать этот том, используя лучшую практику?

Я думаю, что e2fsck не может исправить определенные ошибки на томе, с которого он запущен. Вот почему у меня всегда есть небольшая дополнительная установка Linux.

Как вы вносите изменения («установите FSCKFIX = yes в / etc / default / rcS») в поврежденной файловой системе?

Если вы хотите, чтобы при загрузке проверялся раздел, вам нужно включить шестое поле - fsckorder бит ВКЛ в /etc/fstab. Если вы установите это поле в ноль, тогда fsck не будет проверять файловую систему. Например, для корневого раздела (/) вы можете сделать это -

/dev/hda1      /       ext2    defaults,noatime,rw     0       1