1

Какой лучший способ исправить неисправный fstab? Я думаю, что я мог бы сделать это с некоторым дистрибутивом Linux linux. Сначала ищите разделы и монтируйте их во временный созданный /temproot. Вручную смонтируйте разделы, которые вы узнали один за другим, во вновь созданный /temproot. очень важно установить правильную файловую систему каждого раздела и раздела подкачки. После этого с помощью команды chroot исправьте исходный корень. Кто-нибудь знает лучший способ - любое предложение приветствуется?

1 ответ1

1

После того, как вы загрузили live CD, вам сначала нужно будет определить разделы, как вы предлагаете.

Использование parted даст пару подсказок:

# parted /dev/sdc P

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  2155MB  2154MB  primary   linux-swap(v1)
 4      2155MB  212GB   209GB   extended
 5      2156MB  3230MB  1074MB  logical   ext3
 6      3231MB  5378MB  2147MB  logical
 7      5379MB  48.3GB  42.9GB  logical   ext4
 2      212GB   319GB   107GB   primary   ext4
 3      319GB   320GB   1080MB  primary   ext3            boot

Здесь мы можем видеть, что sdc1 является swap - так что это легко.

Обратите внимание, что sdc 3 имеет включенный загрузочный флаг, так что, скорее всего, это загрузочный раздел (флаг помечает его как загрузочный раздел, но это не обязательно раздел /boot). Загрузочные разделы, как правило, небольшие, так как они не должны содержать много. В этом случае другой вероятный кандидат /dev/sdc5 - реальная загрузка

Если мы установим это,

$ mount /dev/sdc5 /mnt
$ grep root /mnt/grub/grub.cfg
set root='(hd2,5)'
linux   /vmlinuz-2.6.32-5-xen-amd64 root=UUID=5d41ba76-8261-41cd-b147-1f034833f0a1 ro  quiet

Если ваш grub.cfg (или menu.lst) использует имена устройств, то вы будете знать, кто является пользователем root, однако в этом случае мы используем UUID, поэтому нам нужно идентифицировать устройство:

ls -l /dev/disk/by-uuid/5d41ba76-8261-41cd-b147-1f034833f0a1
lrwxrwxrwx 1 root root 10 Jan 18 08:45 /dev/disk/by-uuid/5d41ba76-8261-41cd-b147-1f034833f0a1 -> ../../sdc7

Итак, теперь мы знаем, что корневым разделом является /dev/sdc7

Монтирование остальных по очереди, как предложено, поможет вам идентифицировать остальные разделы. Нет необходимости выполнять chroot в среде, вы можете просто отредактировать fstab напрямую:

mount /dev/sdc7 /mnt
vi /mnt/etc/fstab

И воссоздайте записи.

Обратите внимание, что файл /etc /mtab создается при монтировании разделов. Это может все еще быть нетронутым, если вы не смогли загрузиться, так как fstab сломался, так что вы можете посмотреть в /etc/mtab и восстановить информацию о монтировании оттуда. Обычно вы можете копировать строки, как они есть в mtab, прямо в fstab.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .