Ошибка загрузки
Загружаемся в single mode
a) Стандартное лечение файловой системы:
fsck -y /dev/hdd-name
например:
fsck -y /dev/ad0s1f
b) Форсированное лечение с проверкой и «замещением» bad-блоков (например):
fsck -y -c -f /dev/hdd-name fsck -y -c /dev/mirror/var -y — неинтерактивное лечение "yes" на все вопросы -c — найти bad-блоки readonly тестом и перенести в inod bad-блоков -f — форсировать проверку (игнорировать флаг "fs is clean")
Если Вам кажется, что Ваш fsck завис, при проверке большого раздела, — не торопитесь его выбивать. Что бы увидеть то, что fsck на самом деле делает, достаточно нажать комбинацию клавиш Ctrl-T. При нажатии на эту комбинацию клавиш в консоли fsck, то он напишет отчет о своей работе.
Как в FreeBSD при загрузке в single read-olny переключится в RW режим?
mount -u -w /
Как исправить конфигурационные файлы, если после изменения, система не грузится?
Загружаемся в single mode и
mount -u -w / # монтирует корневой раздел в RW режим (для записи) mount -a # монтирует все остальные разделы, прописанные в /etc/fstab
После этого, заработают все программы, которые необходимы Вам для редактирования файлов, например — ee или vi.
Так же, можно монтировать каждый раздел отдельно, согласно Вашему файлу /etc/fstab:
mount /dev/ad0s1f /usr mount /dev/ad0s1d /var mount /dev/ad0s1e /tmp
правим все что нам нужно, выходим командой exit.
Если после команды mount, в single mode, нужный раздел не монтируется, а выдается ошибка?
Возможно, нужно выполнить проверку раздела утилитой FSCK
НО не выполняйте fsck на смонтированной системе в режиме RW!
Ошибки файловой системы — система не грузится — mountroot>
Следующая ошибка, может возникнуть при неправильном/некорректном редактировании файла /etc/fstab (часто при создании зеркала gmirror бывало забывал подправить fstab), в котором указаны точки монтирования системы:
Mounting root from ufs:/dev/gm0s1a setrootbyname failed ffs_mountroot: can't find rootvp Root mount failed: 6 Manual root filesystem specification: : Mount using filesystem e.g. ufs:da0s1a ? List valid disk boot devices Abort manual input mountroot>
Просмотрим доступные дисковые устройства:
mountroot> ? List of GEOM managed disk devices: mirror/gm0s1f mirror/gm0s1e mirror/gm0s1d mirror/gm0s1c mirror/gm0s1b mirror/gm0s1a mirror/gm0s1 ad2s1 mirror/gm0 ad0s1 ad2 acd0 ad0 fd0
Если вы укажете правильное расположение корневой файловой системы командой ufs, то система продолжит загружаться:
mountroot> ufs:/dev/mirror/gm0s1a Mounting root from /dev/mirror/gm0s1a
После входа в систему, исправьте /etc/fstab и перезагрузитесь, после чего снова войдите в систему и удостоверьтесь, что все файловые системы примонтированы правильно:
% df -h Filesystem Size Used Avail Capacity Mounted on /dev/mirror/gm0s1a 248M 35M 193M 15% / devfs 1.0K 1.0K 0B 100% /dev /dev/mirror/gm0s1e 248M 12K 228M 0% /tmp /dev/mirror/gm0s1f 7.3G 99M 6.7G 1% /usr /dev/mirror/gm0s1d 248M 196K 228M 0% /var
Утилита df не покажет состояние раздела подкачки, воспользуемся другой:
% swapinfo Device 1K-blocks Used Avail Capacity /dev/mirror/gm0s1b 629544 0 629544 0%
mountroot>
1. смотрим какой нужен диск (в выводе выбираем нужный, для MBR будет, что-то, типа, ad7s1a)
?
2. монтируем
ufs:/dev/ad7s1a
3. подключаем шел
/bin/sh
In single-user mode, you can look at your current fstab file where the mount devices are specified.
# cat /etc/fstab
Then mount your /var, /tmp, /usr just like in your fstab but changing the disk number
# mount -t ufs /dev/ad7s1d /var # mount -t ufs /dev/ad7s1e /tmp # mount -t ufs /dev/ad7s1f /usr
You can confirm your mounts by typing either of these two commands:
# df # mount -p
Make root writable so that you can update fstab
# mount -uw /
Update fstab with the correct disk IDs.
# vi /etc/fstab
Save it and reboot