Как восстановить файл fstab с текущей конфигурацией

Я использую Ubuntu 10.04 и случайно удалил все записи из файлов fstab во время резервного копирования (да, я знаю;)).

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

Используя это, я нашел команду, чтобы показать текущую настройку, но я не знаю, что с ней делать.

$ 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 = "Привод расширения" UUID = "782042B920427E5E" TYPE = "ntfs" 


$ cat / etc / mtab
/ dev / sda1 / ext4 rw, ошибки =remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
нет /sys sysfs rw,noexec,nosuid,nodev 0 0
нет /sys/fs/fuse/connections fusectl rw 0 0
нет /sys/kernel/debug debugfs rw 0 0
нет /sys/kernel/security securityfs rw 0 0
нет /dev devtmpfs rw,mode=0755 0 0
нет /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
нет / dev / shm tmpfs rw, nosuid, nodev 0 0
нет /var/run tmpfs rw,nosuid,mode=0755 0 0
нет /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
нет /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
нет /var/lib/ureadahead/debugfs debugfs rw,relaytime 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/Expansion\040Drive 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, пользователь =yvoyer 0 0
/dev/sdd1 /media/Backup500 fuseblk rw,nosuid,nodev, синхронизация,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, пользователь = cdrapeau 0 0

3 ответа

Решение

Вы можете скопировать строки, начинающиеся с /dev/sd** из mtab и вставьте их в новый текстовый файл и измените /dev/sd** с UUID или же LABEL, Например из вашей конфигурации:

использование

UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" / ext4 rw,errors=remount-ro 0 0

вместо

/dev/sda1 / ext4 rw,errors=remount-ro 0 0

Вышеприведенная строка также работает, но UUID - это новый стандарт, и если ваш grub настроен с использованием UUID, он может не понять, что это за раздел.

если раздел имеет метку, вы можете использовать LABEL вместо UUID, например:

LABEL="Files_Server_Int" /media/Files_Server ext4 rw 0 0

IMO скопируйте ваш mtab в новый файл и удалите строки, начинающиеся с "none" и изменить /dev/sd** часть с blkid выводом equivelants. Если UUID существует, используйте UUID вместо /dev/sd**, Если LABEL существует, используйте LABEL вместо UUID.

Не удаляйте ничего, кроме "none" линий. Сохраните файл, измените имя файла на fstab и скопировать в /etc,

Наконец добавьте строки для swap, если таковые имеются (если вы забудете это, ваша система загрузится, но у вас будет нулевое пространство подкачки). например, в вашем случае обратите внимание, что blkid печатает эту строку:

/dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="swap" 

поэтому вам нужна эта строка в fstab:

UUID=718e611d-b8a3-4f02-a0cc-b3025d8db54d none  swap sw   0   0

Это может помочь восстановить ваш fstab.

"Содержимое" mtab (оно генерируется динамически) на 100% совместимо с форматом fstab.

Прежде всего, скопируйте этот текущий файл куда-нибудь БЕЗОПАСНО, прямо сейчас:

cp /etc/mtab ~/mtab_working

Затем скопируйте его в новый fstab и удалите все, что не нужно для загрузки; Вы останетесь с:

/dev/sda1 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
/dev/sdc1 /home ext4 rw 0 0

А затем просто добавляйте вещи обратно (пока загруженная система работает), пока у вас не будет все, что вам нужно.

У вас есть время, чтобы прочитать fstab и смонтировать man-страницы, пока он перезагружается:)

Вы можете попробовать записать файл в следующем формате:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/sda8       /               ext4    errors=remount-ro 0       1
/dev/sda6       /boot           ext4    defaults        0       2
# swap was on /dev/sda7 during installation
UUID=718e611d-b8a3-4f02-a0cc-b3025d8db54d none            swap    sw              0       0

В этом примере у меня есть только два раздела / и /boot

Другие вопросы по тегам