So reparieren Sie die fstab-Datei mit der aktuellen Konfiguration


8

Ich benutze Ubuntu 10.04 und habe versehentlich alle Einträge aus den fstab-Dateien entfernt, während ich ein Backup gemacht habe (Ja, ich weiß;)).

Ich würde gerne wissen, ob es eine Möglichkeit gibt, es mit den aktuellen Mount-Optionen neu zu erstellen, da ich den Server seit dem Löschen nicht neu gestartet habe. Wenn es kein solches Programm gibt, könnte mir jemand helfen, es wieder aufzubauen.

Mit diesem Befehl habe ich den Befehl zum Anzeigen des aktuellen Setups gefunden, weiß aber nicht, was ich damit machen soll.

$ 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 = "Erweiterungslaufwerk" UUID = "782042B920427E5E" TYPE = "ntfs" 


$ cat / etc / mtab
/ dev / sda1 / ext4 rw, fehler = remount-ro 0 0
proc / proc proc rw, noexec, nosuid, nodev 0 0
none / sys sysfs rw, noexec, nosuid, nodev 0 0
keine / sys / fs / Sicherung / Verbindungen 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 / 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, 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

Antworten:


7

Sie können die Linien gestartet kopieren mit /dev/sd**von mtab und fügen Sie sie in eine neue Textdatei und ändern Sie /dev/sd**mit UUIDoder LABEL. Zum Beispiel aus Ihrer Konfiguration:

verwenden

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

stattdessen

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

Die obige Zeile funktioniert auch, aber UUID ist der neue Standard. Wenn Ihr Grub mit UUID konfiguriert ist, kann er möglicherweise nicht verstehen, welche Partition welche ist.

Wenn die Partition ein Label hat, können Sie LABELstattdessen UUIDFolgendes verwenden:

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

IMO kopieren Sie Ihre mtab in eine neue Datei und entfernen Sie die Zeilen, mit denen begonnen wurde, "none"und ändern Sie das /dev/sd**Teil mit blkid- Ausgabeäquivalenten. Wenn UUID vorhanden ist, verwenden Sie die UUIDanstelle von /dev/sd**. Wenn LABEL vorhanden ist, verwenden Sie LABELanstelle von UUID .

Entfernen Sie nichts anderes als "none"Linien. Speichern Sie die Datei, ändern Sie den Dateinamen in fstabund kopieren Sie in /etc.

Fügen Sie schließlich Zeilen für den Austausch hinzu, falls vorhanden (wenn Sie dies vergessen, wird Ihr System gestartet, Sie haben jedoch keinen Austauschbereich). Beispiel: Beachten Sie in Ihrem Fall, dass blkid diese Zeile druckt:

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

Sie benötigen also diese Zeile in fstab:

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

Dies kann helfen, Ihre fstab wiederherzustellen.


1
Was passiert, wenn ich das Label später ändere? Wäre es nicht besser, die UUID zu verwenden, die sich (meines Wissens nach) nie ändert, als das Label, das geändert werden kann?
Yvoyer

Ich bin mir nicht sicher genug, was auf der Grub-Seite passiert. Wenn Sie jedoch die Partitionsbezeichnung ändern, müssen Sie die gleiche Änderung in fstab vornehmen und grub neu installieren. Wenn Sie dies nicht tun, kann diese Partition nicht mehr bereitgestellt werden. Sicherlich ist die Verwendung von UUID vorerst eine Solid-Rock-Lösung. Aber irgendwie, einige Distributionen, die Labels anstelle von Uuids verwenden, weiß ich nicht warum ...
Sencer H.

Könnte jemand bitte diese Informationen in einen Kommentar gegen die ausgewählte Antwort von RecNes Danke setzen. Leider habe ich bittere Erfahrungen damit gemacht, dass UUID aufgrund des geänderten Werts versagt. Es ist ein extremer Fall, also füge ich dies hinzu, falls jemand anderes da draußen in ein Problem gerät. Während eines Stromausfalls (wahrscheinlich aufgrund eines lokalisierten Blitzeinschlags) wurden die UUID-Werte auf meinen internen Festplatten geändert! Es war nur möglich zu erkennen, dass dies das Problem war, nachdem es ein zweites Mal passiert war. Die Lösung ist jedoch nicht so schwer, es geht nur darum, die Ausgabe von ls / dev / disk /
DaveM

4

Der "Inhalt" von mtab (es wird dynamisch generiert) ist zu 100% mit dem fstab-Format kompatibel.

Kopieren Sie diese aktuelle Datei zunächst an einen sicheren Ort:

cp /etc/mtab ~/mtab_working

Kopieren Sie es dann in eine neue Tabelle und entfernen Sie alles, was für das Booten nicht unbedingt erforderlich ist. Sie werden übrig bleiben mit:

/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

Und dann fügen Sie einfach etwas hinzu (während das neu gestartete System aktiv ist), bis Sie alles haben, was Sie brauchen.

Sie haben etwas Zeit, um die fstab zu lesen und Manpages zu mounten, während sie neu gestartet wird :)


1

Sie können versuchen, die Datei im folgenden Format zu schreiben:

# <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

In diesem Beispiel habe ich nur zwei Partitionen / und / boot

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.