2016-05-14 8 views
-1

Für die Zwecke des Lernens losetup zu lesen, ich wollte eine Mini-Replik meiner Festplatte erstellen:Nachdem die Partitionstabelle

$ lsblk 

NAME     MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
sda      8:0 0 931.5G 0 disk 
├─sda1     8:1 0 512M 0 part /boot/efi 
├─sda2     8:2 0 244M 0 part /boot 
└─sda3     8:3 0 930.8G 0 part 
    └─sda3_crypt  254:0 0 930.8G 0 crypt 
    ├─host--vg-root 254:1 0 25G 0 lvm /
    ├─host--vg-var 254:2 0 2.8G 0 lvm /var 
    ├─host--vg-swap_1 254:3 0 11.9G 0 lvm [SWAP] 
    ├─host--vg-tmp 254:4 0 380M 0 lvm /tmp 
    └─host--vg-home 254:5 0 890G 0 lvm /home 

In meinem speziellen Fall ein neues Gerät einrichten, so sieht es aus wie mein Festplatte erfordert Vertrautheit mit vielen Dingen, Erstellen von Partitionen, Erstellen von LUKS-Geräten, Öffnen von ihnen, Erstellen von LVM-Volumes usw., so halte ich dies für eine würdige Übung, zumindest für jemanden, der neu in Linux ist.

Also brauchte ich zum ersten Mal ein neues Gerät zu spielen, ohne sonst etwas vermasselt:

$ dd if=/dev/zero of=loopfile bs=1M count=1024 
$ sudo losetup /dev/loop1 loopfile 

(loop1 statt loop0 verwendet, die bereits für andere Zwecke genommen wird, auch zero gut genug für diese Übung so ignorierend urandom).

Mein erstes Ziel war es, die Partitionen zu imitieren sda1/sda2/sda3

$ sudo blkid 

/dev/sda1: UUID="08FC-EA23" TYPE="vfat" ... 
/dev/sda2: UUID="30b5d595-4986-4f75-962a-7e1f5f03ed4a" TYPE="ext2" ... 
/dev/sda3: UUID="a84cc598-9316-48b9-94a9-bb4885e45e9c" TYPE="crypto_LUKS" ... 

$ sudo parted /dev/loop1 

So ging ich und erstellt drei ‚primäre‘ Partitionen (für andere zwei ‚fat32‘ für die erste und ‚ext2‘ verwendet wird, nicht sicher, warum nur raten) mit allen Größen um den Faktor 1000 reduziert:

(parted) print 

Number Start End  Size Type  File system Flags 
1  512B 1000kB 1000kB primary fat32  lba 
2  1049kB 2097kB 1049kB primary ext2   lba 
3  2097kB 1074MB 1072MB primary ext2   lba 

und ich formatierte dann die drei Geräte in Übereinstimmung mit dem früheren blkid Bericht:

sudo mkfs -t vfat /dev/loop1p1 
sudo mkfs -t ext2 /dev/loop1p2 
sudo cryptsetup luksFormat /dev/loop1p3 

So an diesem Punkt sieht mein gescheitelt print Bericht gut sowie lsblk und blkid:

$ lsblk 

loop1     7:1 0  1G 0 loop 
├─loop1p1    259:0 0 976.5K 0 loop 
├─loop1p2    259:1 0  1M 0 loop 
└─loop1p3    259:2 0 1022M 0 loop 

$ sudo blkid 

/dev/loop1p1: SEC_TYPE="msdos" UUID="1CD8-2CA5" TYPE="vfat" ... 
/dev/loop1p2: UUID="6532dba9-3101-488e-a6d1-e5e1ef4943f7" TYPE="ext2" ... 
/dev/loop1p3: UUID="a0e96a54-6d6a-49c8-80fd-03217b25062f" TYPE="crypto_LUKS" ... 
/dev/loop1: PTUUID="1de285f7" PTTYPE="dos" 

Also ich dachte, dass ich auf dem richtigen Weg war. Ich dachte auch, dass meine Datei loopfile, die meinem Loop-Gerät zugrunde liegt, die notwendigen Metadaten enthalten würde, so dass ich mir keine Gedanken über einen Neustart machen muss. Da ich nur mit Geräten spiele (ohne sie zu montieren) gehe ich davon aus, dass kein /etc/fstab Setup benötigt wird.

Das Problem, das ich habe ist, dass beim Neustart einige der Einstellungen verloren gehen. Nach dem Erstellen der Schleife Gerät von loopfile, der partedprint Bericht zeigt mir immer noch die Partitionen (wenn auch mit verlorenen Informationen auf type), aber diese Partitionen nicht mehr auf die lsblk oder die blkid Berichte erscheinen. Ich habe mich gefragt, ob es einen Weg gibt, mein Set-up persistent zu machen. Ich bin auf Debian 8, falls es darauf ankommt.

Antwort

1

Sie müssen losetup -P /dev/loop1 loopfile ausführen. Das bedeutet, dass der Kernel eine Partitionstabellenüberprüfung der neu hinzugefügten Datei durchführt.

+0

perfekt danke !! :) –

Verwandte Themen