Как исправить fstab до загрузки

I accidentally removed all the entries from the fstab files while doing a backup (Yeah, I know ;)).

I would like to know if there is a way to rebuild it with the current mount options, since I did not restart the server since the deletion. If there is no such program, could anybody help me rebuild it.

Using this, I have found the command to show the current setup, but I don’t know what to do with it.

$ sudo blkid
/dev/sda1: UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" TYPE="ext4" 
/dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="swap" 
/dev/sdb1: LABEL="Files_Server_Int" UUID="02fc2eda-d9fb-47fb-9e60-5fe3073e5b55" TYPE="ext4" 
/dev/sdc1: UUID="41e60bc2-2c9c-4104-9649-6b513919df4a" TYPE="ext4" 
/dev/sdd1: LABEL="Expansion Drive" UUID="782042B920427E5E" TYPE="ntfs" 


$ cat /etc/mtab
/dev/sda1 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
none /dev devtmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
none /var/run tmpfs rw,nosuid,mode=0755 0 0
none /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
none /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
none /var/lib/ureadahead/debugfs debugfs rw,relatime 0 0
/dev/sdc1 /home ext4 rw 0 0
/dev/sdb1 /media/Files_Server ext4 rw 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0
/dev/sdd1 /media/Expansion40Drive fuseblk rw,nosuid,nodev,allow_other,blksize=4096,default_permissions 0 0
gvfs-fuse-daemon /home/yvoyer/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=yvoyer 0 0
/dev/sdd1 /media/Backup500 fuseblk rw,nosuid,nodev,sync,allow_other,blksize=4096,default_permissions 0 0
/dev/sr0 /media/DIR-615 iso9660 ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500 0 0
gvfs-fuse-daemon /home/cdrapeau/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=cdrapeau 0 0

I modified /etc/fstab.

I verified the new devices and I can mount them with the mount command.

How may I validate the modifications made to /etc/fstab ?

asked Aug 25, 2010 at 2:51

Luc M's user avatar

You can simple run: mount -a

-a
Mount all filesystems (of the given types) mentioned in fstab.

This command will mount all (not-yet-mounted) filesystems mentioned in fstab and is used in system script startup during booting.

answered Aug 25, 2010 at 2:57

Prix's user avatar

PrixPrix

4,8313 gold badges23 silver badges25 bronze badges

4

The mount command take an --fake or -f for short. The following command should do what you need:

mount -fav

The following is in the documentation for -f option:

Causes everything to be done except for the actual system call; if it’s not obvious, this «fakes» mounting the filesystem. This option is useful in conjunction with the -v flag to determine what the mount command is trying to do.

(Note this is Linux — check before using elsewhere: FreeBSD uses -f for ‘force’ — exactly the opposite meaning.)

Paul's user avatar

Paul

2,9896 gold badges26 silver badges36 bronze badges

answered May 19, 2013 at 6:22

tronda's user avatar

trondatronda

1,3511 gold badge10 silver badges13 bronze badges

6

sudo findmnt --verify --verbose is the best way I’ve found

answered Aug 4, 2019 at 21:36

rockwotj's user avatar

rockwotjrockwotj

1,1817 silver badges3 bronze badges

3

Note that if you add a swap file to your fstab, mount -a won’t turn it on: you’ll want to run swapon -a.

answered Mar 4, 2019 at 19:08

Ian Hunter's user avatar

Ian HunterIan Hunter

2173 silver badges11 bronze badges

I found this /problem/ but the solution didn’t meet my requirements.

When rebooting with any invalid entries in the /etc/fstab, such as missing file systems that fsck cannot check; the system will fail to boot. That can be much more difficult to deal with if you have a headless box.

This is my solution to checking /etc/fstab to avoid this boot problem:

    # cat /usr/local/bin/check-fstab-uuid-entries.sh
    #!/usr/bin/env bash

    for x in $(grep ^UUID /etc/fstab|cut -d   -f 1|cut -d = -f 2)
    do
            if [ ! -h /dev/disk/by-uuid/$x ];then
                    echo $(grep $x /etc/fstab)  ..... not found
            fi
    done

answered Apr 5, 2016 at 13:43

Andrew McGlashan's user avatar

2

TBH even fake mounting doesn’t safely validate the fstab for bad fs type entries.

you can have entries that have correct uuid’s, directories etc but if you specify a noexistant FS type this will halt your boot next time.

[root@grumpy ~]# grep backup /etc/fstab
UUID=5ed48e5e-7251-4d49-a273-195cf0432a89       /mnt/backup     noatime,nodiratime,xfs defaults,nodev,nosuid    0 0
[root@grump ~]#

[root@grumpy ~]# mount -fav | grep backup
/mnt/backup              : successfully mounted
[root@grumpy ~]#

answered Aug 2, 2019 at 10:41

OldTimeAdmin's user avatar

mount -a is safe method to check /etc/fstab otherwise wrong entry could break the system

It is also advised to keep a backup copy of original /etc/fstab file. it could be copied to home directory of root

answered Nov 28, 2016 at 7:36

Vikas Avnish's user avatar

I open another term or tab and run: tail -f /var/log/kern.log

Sometimes errors show there that don’t show when mounting.

answered Nov 8, 2020 at 21:59

clay's user avatar

It seems that I have added incorrect record to /etc/fstab:

//servername/share    /mnt/share    cifs     defaults,username=myuser     0 0

When I did mount -a, it asked user password to mount network share. It seems that it cannot proceed without password on boot, so it is just hung.

How can I fix fstab to prevent boot failure?

Pro Backup's user avatar

Pro Backup

4,63612 gold badges50 silver badges81 bronze badges

asked Jul 26, 2012 at 13:10

altern's user avatar

It seems that I’ve found a solution:

  • At the GRUB prompt, hit A to append options.
  • Add init=/bin/bash to the end of the kernel command line and press Enter.

The system will boot to a prompt like bash-3.2# enter the following commands at the prompt

mount -o remount,rw /

Then edit the fstab:

vim /etc/fstab

Edit the fstab file commenting the errors by adding a # at the begining of each problematic line, save the file and reboot by pressing Ctrl+Alt+Del.

Giacomo1968's user avatar

answered Jul 26, 2012 at 14:20

altern's user avatar

alternaltern

1,8503 gold badges18 silver badges20 bronze badges

5

How about removing the entry, creating a snapshot and then trying to change your /etc/fstab so you have a working snapshot you can roll back to?

According to the manpage mount.cifs you can also specify a password via password=arg. Also, according to that manpage there is no argument username=arg but instead user=arg. But it might be different on your system, better check your manpage for the correct argument names.

answered Jul 26, 2012 at 13:21

scai's user avatar

scaiscai

10.4k2 gold badges23 silver badges42 bronze badges

3

The other easy way is booting to live-cd mode and mount the right partition. Then you can fix anything you want!

answered Sep 3, 2015 at 0:37

user3435653's user avatar

I found a solution to systems error kernel not loading
Use live cd to gain access to your existing installation. Once in reinstall Linux kernel :

pacman -S Linux

Then delete the fstab file from etc/fstab :

rm /etc/fstab

Now reinstall systemd:

pacman -S systemd

When reinstalling systemd it will automatically generate a new fstab file

Now reinstall the bootloader
in this case I use grub:

pacman -S grub os-prober

(os probe is useful if you have more than 1 os installed on your hdd/ssd)
Then

grub-install --target=i386-pc /dev/sda

Once finished make the configuration files:

grub-mkconfig -o /boot/grub/grub.cfg

Then unmount the partitions in use and reboot

umount /dev/sdX 
reboot

This should fix the problem, it worked for me.

Archemar's user avatar

Archemar

30.9k18 gold badges66 silver badges104 bronze badges

answered Jun 24, 2016 at 14:43

Jp---'s user avatar

Jp—Jp—

112 bronze badges

  • Печать

Страницы: [1] 2 3  Все   Вниз

Тема: Как удалить из fstab ошибочный параметр, блокирующий запуск  (Прочитано 6354 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
УВОК

Помогите решить проблему как откорректировать (стереть лишнее) файл /etc/fstab средствами командной строки в условиях, когда системный раздел находится в режиме чтения (так на русском языке пишет ОС).
Из текста этого файла необходимо убрать вписанный туда ОС Ubuntu 14.04 параметр системного раздела (у меня он /dev/sda6, Ubuntu стоит как вторая ОС на Windows 10)
x-gvfs-name=Ubuntu (вид файла есть на скриншоте).
Появился он после проведения средствами Диски невинной по моему мнению операции по изменению имени системного раздела в проводнике — с установленного по инициативе ОС «Компьютер» на более логичный «Ubuntu» (вписал в окно “Отображаемое имя” вкладки “Изменить параметры монтирования”). Непосредственно перед этим успешно заменил имя раздела с виндами на «Windows».
Однако, изменение отображаемого имени с системным разделом привело к катастрофическим последствиям — Ubuntu грузиться перестал в любом варианте с выводом сообщения о наличии указанного «жуткого» параметра, не позволяющего провести монтирование корневого раздела /.
Обидно после такой не значительной «провинности» переустанавливать систему.
Попытки стереть «жуткий» параметр редактором nano оказалась безуспешными, т.к. файл открывается только для чтения. Других редакторов в ОС не оказалось. Все действия производились в командной строке с правами суперпользователя, обычное приглашение с именем пользователя появляется после бубнотанцев при процедуре не нормальной загрузки (есть на скриншоте).
Попытки сменить атрибуты файла и раздела на позволяющие производить модификацию файла не удались. В сообщениях ОС пишет, что раздел находится в режиме чтения.
Атрибуты файла и раздела, полученные командой ls -l (после всех попыток добиться возможности изменять файл):
-rw-r- -r- — 1 root root 1039      /etc/fstab
brw-rw- — — — 1 root disk 8       /dev/sda6


Оффлайн
ecc83

Загрузись с любого LiveCD, и отредактируй fstab.


Оффлайн
symon.2014

Ubuntu стоит как вторая ОС на Windows 10)

Это как?


Оффлайн
УВОК

Отредактировать fstab текстовым редактором из командной строки никак нельзя? И даст ли откорректировать из LiveCD, если объявлено, что файловая система раздела / только для чтения?
Вторая ОС — в смысле был ноут с W10, на него поставил U14.04 второй ОС (просто уточнил почему система попала на sda6).

« Последнее редактирование: 27 Августа 2017, 23:16:08 от УВОК »


Оффлайн
ARTGALGANO

УВОК, загрузить в emergency mode , перемонтировать / в rw, и исправить fstab


Оффлайн
УВОК

Загружался во всех возможных режимах. Максимум что можно добиться — выйти в командную строку (и то с ухищрениями). Как все-таки сделать после этого доступным редактирование fstab?


Оффлайн
ecc83

Отредактировать fstab текстовым редактором из командной строки никак нельзя?

Конечно можно. Нужно что бы был установлен консольный текстовый редактор. Например nano или mcedit.

И даст ли откорректировать из LiveCD, если объявлено, что файловая система раздела / только для чтения?

Что значит «даст»? Кто её спрашивать будет? Это твоя установленная на диск система, после обнаружения некорректного параметра, монтирует её только для чтения. Загрузившись с флешки LiveCD, это уже будет другая система, которая не читает твой fstab, который на диске.

Загружался во всех возможных режимах. Максимум что можно добиться — выйти в командную строку (и то с ухищрениями).

Такие фразы, «во всех режимах», «сделал всё что можно», «оно не работает» — тут никого не интересуют. Если нужна конкретная помощь, потрудись описать, что делал и максимально точно, что отвечает система.

Как все-таки сделать после этого доступным редактирование fstab?

Вообще то тебе сразу ответили на этот вопрос. Читай выше. Чем не устраивает ответ?

Загружаешься с LiveCD, открываешь терминал, выполняешь команду:

sudo fdisk -l
смотришь, точное имя раздела с системой на жёстком диске. Будет что то типа:  /dev/sdaX (где Х это номер раздела)

Потом выполняешь:

sudo mount  /dev/sdaX /mnt
После этого в каталоге /mnt твоего LiveCD появится примонтированный раздел жесткого диска.

Далее:

sudo nano /mnt/etc/fstab
Откроется fstab в текстовом редакторе. С остальным разберёшься.

« Последнее редактирование: 03 Сентября 2017, 22:08:07 от ecc83 »


Оффлайн
ReNzRv

УВОК,
При ошибке предлагается выбрать вариант: S(skip) F(fix) I(ignore)?
Если нет, то в режиме восстановления (emergency) выполни:

mount -o remount,rw /и потом через nano отредактируй fstab


Оффлайн
УВОК

Чем не устраивает ответ?

Не ясно было что делать с файлом в разделе, который объявлен доступным только для чтения.
На каком разделе стоит система известно (sda6), редактор nano имеется.

Потом выполняешь:

монтирование на /mnt.
Вот это интересная информация.
Возникает вопрос — нужен ли для этого LiveCD? Может сразу делать в командной строке? Вначале смонтировать на /mnt, поправить fstab, а потом обратно примонтировать на /? Что добавляет в этой деятельности предварительный запуск LiveCD? Где содержится и как изменяется информация о том, что раздел стоит в режиме чтения? Может сразу «там» поправить атрибуты?

При ошибке предлагается выбрать вариант: S(skip) F(fix) I(ignore)?

Есть другие варианты — S или M (вручную). Ни тот ни другой не работают.
Фраза «Загружался во всех возможных режимах» означает, что выбирал все возможные опции загрузки и расширенных режимов.
Команда

mount -o remount,rw /

относится ко всем разделам диска? Это именно то, что желал получить — сделать раздел и файлы в нем доступными для изменения?
Тогда действительно LiveCD не нужен?


Оффлайн
Azure

В сообщениях ОС пишет, что раздел находится в режиме чтения

Переведи в режим «записи»

выполни:
mount -o remount,rw /и потом через nano отредактируй fstab

и прекрати этот «словесный понос»

В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !


Оффлайн
ecc83

Что добавляет в этой деятельности предварительный запуск LiveCD? Где содержится и как изменяется информация о том, что раздел стоит в режиме чтения? Может сразу «там» поправить атрибуты?

Тебе хочется систему починить или просто поговорить об этом?

Тогда действительно LiveCD не нужен?

Расскажешь потом, как решил вопрос.


Оффлайн
Raf73

Не ясно было что делать с файлом в разделе, который объявлен доступным только для чтения.

После загрузки с лайв-диска и монтирования раздел станет доступным для чтения-записи.

Цитировать

    mount -o remount,rw /

относится ко всем разделам диска? Это именно то, что желал получить — сделать раздел и файлы в нем доступными для изменения?
Тогда действительно LiveCD не нужен?

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


Оффлайн
УВОК

выполни:
mount -o remount,rw /
и потом через nano отредактируй fstab

Нужно ли (и где) в команде указывать, что она относится к разделу sda6?
Нужно ли после редактирования fstab обратно примонтировать sda6 на /?
Из описания mount/remount такие тонкости не ясны.
Так, конечно, предпочтительнее, чем через LiveCD.


Оффлайн
ecc83

Нужно ли (и где) в команде указывать, что она относится к разделу sda6?

Я же тебе выше всё описал…

Нужно ли после редактирования fstab обратно примонтировать sda6 на /?

Не нужно. Просто перезагрузка и всё.


Оффлайн
УВОК

Нужно ли (и где) в команде указывать, что она относится к разделу sda6?
Я же тебе выше всё описал…

Не понял где, т.к. предложены два (?) варианта решения проблемы — с использованием LiveCD и без него.
Или предложено сперва сделать операции из LiveCD, а потом (mount/umount) без него?
Кстати — все-таки remount или umount?

« Последнее редактирование: 28 Августа 2017, 16:15:40 от УВОК »


  • Печать

Страницы: [1] 2 3  Все   Вверх

добрый день.
боюсь напортачить еще больше поэтому прошу помощи…
сначала было
Welcome to emergency mode! After logging in, type «journalctl -xb» to view system logs, «systemctl reboot» to reboot, «systemctl default» to try again to boot into default mode.
Give root password for maintenance
———————————————
я думаю это после того как вытащил внешний hdd /
полез в fstab … и по всей видимости закоментировал не то…а дальше еще смешнее начитавшись совета на форуме удалил fstab … и теперь не стартуют х-ы
тоесть при старте просто логин и пароль спрашивает…
———————————————————
подскажите пожалуста как мне востановить все…(желтельно простыми словами ) только недавно начал переходить с винды на linux.
можно писать на webzhen @ майл .ru
заранее благодарю всех откликнувшихся.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти спавнер скелетов в майнкрафте
  • Как найти бандита у которого пда военного
  • Как найти меньшую диагональ в правильном шестиугольнике
  • Как найти свою половинку по запаху
  • Как найти сумму углов выпуклого треугольника многоугольника

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии