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