Einbindung einer Partition

Aus lugvswiki
Zur Navigation springenZur Suche springen

Einbindung (nach Standardinstallation) eines auf separater Platte abgelegten Homeverzeichnisses und Ignorierung der standardmäßigen /home


Danksagung

Nach einer verunglückten Aktion (ich wollte die unter dem Verzeichnis /etc abgelegte Datei 'fstab' ändern, habe aber alle Befehle mit einem vorangestellten 'sudo' ausgeführt, mich also für diese Zeit nicht mit 'sudo su' zum (dauerhaften) Administrator gemacht und damit einiges zerschossen. Ulf hat mir bei der Einbindung meiner M.2-NVMe, die mir schon auf meinem 'alten' Rechner als /home diente, geholfen und auch über diesen Beitrag drübergelesen.

Problem

Nach einem Umzug aller meiner Festplatten von meinem schon etwas betagten PC auf einen leicht neueren, aber dennoch deutlich besseren des Herstellers Lenovo, Typ ThinkStation P500, war durch die standardmäßig ausgeführte Installation auf die Samsung-SSD Evo 860 ein Home-Verzeichnis entstanden, das ich nicht nutzen möchte. Vielmehr möchte ich die Daten des /home auf meiner 1000 GB großen Samsung M.2-SSD NVMe 907 Evo nutzen; die sind da ja schon gespeichert.

Vorab zu erledigen

  • erstelle eine Sicherung der Datei 'fstab' (Pfad: /etc/) auf eine externe Platte (nur für alle Fälle)
  • sichere Dein /home ebenso auf eine externe Festplatte
  • sichere ebenso Dein Root-Verzeichnis (/) auf eine externe Platte

Konsolenbefehl um eingehängte Platten und Ihre Bezeichnung (/dev/sdXY), samt deren Dateisystem zu erkennen

[#] holger@linux:~> fdisk -l

Auszug aus der Befehlsausgabe bezüglich der Tumbleweed-Installation - das ist die erste der beiden SSDs (/dev/sda:

Festplatte /dev/sda: 465,76 GiB, 500107862016 Bytes, 976773168 Sektoren 
Festplattenmodell: Samsung SSD 860
Einheiten: Sektoren von 1 * 512 = 512 Bytes 
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes 
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes 
Festplattenbezeichnungstyp: gpt 
Festplattenbezeichner: 42892C69-2FAC-4A7A-932C-D0EFDAB74739

Wie man sieht, liegen das Root- und Homeverzeichnis standardmäßig noch auf der zweiten Partition, der /dev/sda2

Gerät         Anfang      Ende  Sektoren  Größe Typ 
/dev/sda1       2048   1050623   1048576   512M EFI-System 
/dev/sda2    1050624 972578815 971528192 463,3G Linux-Dateisystem [Root- mit Homeverzeichnis]
/dev/sda3  972578816 976773134   4194319     2G Linux Swap

und hier noch die (einzige) M.2-NVMe-SSD, - daher /dev/nvme0n1 - , deren Daten als standardmäßiges /home eingebunden werden sollen:

Festplatte /dev/nvme0n1: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren 
Festplattenmodell: Samsung SSD 970 EVO 1TB
Einheiten: Sektoren von 1 * 512 = 512 Bytes 
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes 
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes 
Festplattenbezeichnungstyp: gpt 
Festplattenbezeichner: 7BB9DC1D-D2CA-450C-980A-1A681E6C9225 

Gerät          Anfang       Ende   Sektoren  Größe Typ 
/dev/nvme0n1p1   2048 1953525134 1953523087 931,5G Linux-Dateisystem

Diese NVMe hat nur eine Partition (da eine reine Datenplatte) angelegt; ersichtlich an der Bezeichnung /dev/nvme0n1p1

Befehl, um die derzeitige Fstab-Datei im Verzeichnis /etc anzuzeigen (die M.2-NVMe ist noch gar nicht eingetragen)

[$] joe /etc/fstab  

Hier die Ausgabe:

UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /                       btrfs  defaults                         0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /var                    btrfs  subvol=/@/var                    0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /usr/local              btrfs  subvol=/@/usr/local              0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /srv                    btrfs  subvol=/@/srv                    0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /root                   btrfs  subvol=/@/root                   0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /opt                    btrfs  subvol=/@/opt                    0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /home                   btrfs  subvol=/@/home                   0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc     0  0 
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /.snapshots             btrfs  subvol=/@/.snapshots             0  0 
UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc  swap                    swap   defaults                         0  0 
UUID=4D34-0A88                             /boot/efi               vfat   utf8                             0  2

Eintrag der M.2-NVMe in die Fstab-Datei

Um die UUID einer Festplatte in die Fstab-Datei eintragen zu können, müssen wir sie zunächst einmal kennen ...

Konsolenbefehl zur Abfrage der UUID der NVMe und ihrer (einzigen) Partition

[#] holger@linux:~> blkid /dev/nvme0n1p1
/dev/nvme0n1p1: UUID="fd5c4324-c81e-4a50-8cc4-3bff056a79dd" BLOCK_SIZE="4096" TYPE="ext4" 
PARTUUID="73caaf90-e07a-487e-a65b-7d335bd52a39"

Wichtig ist hier, daß wir ganz gezielt auch die Partition dieser NVMe (oder einer anderen Platte) abfragen. Hätten wir nur die Platte ohne Partition angegeben (/dev/nvme0n1 - ohne den Zusatz 'p1' = Partition 1), wäre uns nicht die UUID, sondern die PARTUUID ausgegeben worden; und die wäre falsch.

Übrigens könnte ich mir auch die UUIDs aller eingehängten Platten ausgeben lassen; in diesem Fall lasse ich die Pfadangabe (/dev/hdXY, bzw. /dev/sdXY, oder /dev/nvme0nXpY) einfach weg und würde (in meinem Fall - mit zwei SSDs, einer NVMe und zwei HDDs) diese Ausgabe erhalten):

[#] holger@linux:~> blkid
/dev/sda1: UUID="4D34-0A88" BLOCK_SIZE="512" TYPE="vfat"
PARTUUID="84539456-ddc2-45e3-b86a-c0bcbbe6fb4a" 
/dev/sda2: UUID="339387e9-84da-4bbf-a079-c80d1c9c2676" UUID_SUB="66e5a10d-435c-4851-be42-c67a32668b5d" BLOCK_SIZE="4096" TYPE="btrfs"
PARTUUID="fda76e04-d395-46ba-99b4-95e520986b7c" 
/dev/sda3: UUID="3ff503e4-c0b5-4aa5-b05f-1baae11a05cc" TYPE="swap"
PARTUUID="bc44119e-3706-419b-9f22-3271aba1544b" 
/dev/sdb1: LABEL="Wiederherstellung" BLOCK_SIZE="512" UUID="EEB65AE4B65AACB9" TYPE="ntfs"
PARTLABEL="Basic data partition" PARTUUID="3ff1b7ac-2c0b-47eb-ad75-2c598e76bedf" 
/dev/sdb2: UUID="7461-6130" BLOCK_SIZE="512" TYPE="vfat"
PARTLABEL="EFI system partition" PARTUUID="0f372f67-eafd-4304-8646-c4e1ea8dd8cf" 
/dev/sdb3: PARTLABEL="Microsoft reserved partition"
PARTUUID="61cba859-1739-4128-88c1-be5374cc1d2a" 
/dev/sdb4: BLOCK_SIZE="512" UUID="38EA6AC4EA6A7DCE" TYPE="ntfs"
PARTLABEL="Basic data partition" PARTUUID="2074fe84-b054-43eb-a5ff-e17537688194" 
/dev/sdc1: UUID="93279354-b851-48a3-bddf-1b73fc632b5f" BLOCK_SIZE="4096" TYPE="ext4"
PARTUUID="6844e9e5-b135-4765-a6e5-3d90e8da396a" 
/dev/sdd1: UUID="93279354-b851-48a3-bddf-1b73fc632b5f" BLOCK_SIZE="4096" TYPE="ext4"
PARTUUID="fffeb90e-0725-11eb-818e-ed0fef3c7d45" 
/dev/nvme0n1p1: UUID="fd5c4324-c81e-4a50-8cc4-3bff056a79dd" BLOCK_SIZE="4096" TYPE="ext4"
PARTUUID="73caaf90-e07a-487e-a65b-7d335bd52a39"

Nun kennen wir also die UUID unserer NVMe-Partition und nutzen den Joe-Editor, um diese zu bearbeiten.

Öffnen und Bearbeiten der Fstab-Datei (liegt im Verzeichnis /etc) mit dem Joe-Editor

Zunächst machen wir uns für die Dauer der Bearbeitung zum Superuser / Administrator mit dem Befehl:

[$] holger@linux:~> sudo su
[sudo] Passwort für root: 

und öffnen dann mit dem Joe-Editor die Datei 'fstab'

[#] linux:/home/holger # joe /etc/fstab

Hier die geöffnete Datei:

    I    /etc/fstab                                                                     Row 12   Col 1
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /                       btrfs  defaults
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /var                    btrfs  subvol=/@/var
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /usr/local              btrfs  subvol=/@/usr/local
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /srv                    btrfs  subvol=/@/srv           
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /root                   btrfs  subvol=/@/root
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /opt                    btrfs  subvol=/@/opt                  
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /home                   btrfs  subvol=/@/home
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /.snapshots             btrfs  subvol=/@/.snapshots           
UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc  swap                    swap   defaults
UUID=4D34-0A88                             /boot/efi               vfat   utf8

Nun navigieren wir mit den Pfeilrichtungstasten ganz links, unterhalb des letzten Eintrages und fügen die UUID der NVMe ein (zuvor durch Markieren mit der Maus in den Zwischenspeicher und dann mittels mittlerem Mausklick an der gewünschten Stelle hineinkopieren). Nun sieht unsere Fstab-Datei folgendermaßen aus:

     I    /etc/fstab                                                                     Row 12   Col 1
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /                       btrfs  defaults
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /var                    btrfs  subvol=/@/var
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /usr/local              btrfs  subvol=/@/usr/local
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /srv                    btrfs  subvol=/@/srv           
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /root                   btrfs  subvol=/@/root
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /opt                    btrfs  subvol=/@/opt                  
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /home                   btrfs  subvol=/@/home
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /.snapshots             btrfs  subvol=/@/.snapshots           
UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc  swap                    swap   defaults
UUID=4D34-0A88                             /boot/efi               vfat   utf8                           
UUID=fd5c4324-c81e-4a50-8cc4-3bff056a79dd

Aber halt, da fehlt ja noch was! Wir nehmen eine beliebige Bezeichnung für das /home, welches unter der NVMe genutzt werden soll, z.B. '/home.old', entscheiden uns für ein Dateisystem (in unserem Fall 'ext4' und stellen noch ein 'defaults' hintenan. Diese Daten werden ebenfalls in die nun unterste Zeile eingetragen. Das ist das Resultat:

     I    /etc/fstab                                                                     Row 12   Col 1
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /                       btrfs  defaults
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /var                    btrfs  subvol=/@/var
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /usr/local              btrfs  subvol=/@/usr/local
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /srv                    btrfs  subvol=/@/srv           
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /root                   btrfs  subvol=/@/root
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /opt                    btrfs  subvol=/@/opt                  
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /home                   btrfs  subvol=/@/home
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc
UUID=339387e9-84da-4bbf-a079-c80d1c9c2676  /.snapshots             btrfs  subvol=/@/.snapshots           
UUID=3ff503e4-c0b5-4aa5-b05f-1baae11a05cc  swap                    swap   defaults
UUID=4D34-0A88                             /boot/efi               vfat   utf8                           
UUID=fd5c4324-c81e-4a50-8cc4-3bff056a79dd  /home.old               ext4   defaults

Diese Änderungen müssen natürlich auch gespeichert werden. Das geschieht im Joe-Editor mit zwei Tastaturkürzeln, gefolgt von einer Bestätigung oder Verneinung; diese sind:

  • Strg+K (Vorbereitung zum Verlassen des Editors)
  • q (Quit, also 'Abschluß' / 'quittieren')

Nun erscheint ganz unten im Editor der Text

File /etc/fstab has been modified.  Save it (y,n,^C)? und wir bestätigen entweder mit
  • y für Ja, wenn wir die Änderung übernehmen wollen, oder
  • n für Nein, wenn wir keine Änderungen übernehmen wollen.

Danach ist die Bearbeitung der Datei durch den Editor beendet und wir haben den Editor wieder verlassen, erkenntlich an folgendem Promt:

[#] linux:/home/holger #