GNU/Linux >> Znalost Linux >  >> Linux

15 Příklady příkazů Linux sfdisk pro správu diskových oddílů

Pokud jste správce systému, je správa oddílu pevného disku vašeho linuxového serveru kritickým úkolem.

V tomto tutoriálu se zaměříme na to, jak používat nástroj příkazového řádku sfdisk ke správě oddílů pevného disku.

Zatímco sfdisk je podobný fdisk, existuje jen málo činností manipulace s oddíly, které lze v sfdisku provádět velmi snadno. Například můžete vytvořit nové oddíly neinteraktivní metodou pomocí sfdisk.

V tomto kurzu jsou popsány následující aktivity sfdisk:

  1. Zobrazit existující diskové oddíly
  2. Změnit jednotky zobrazení (velikost zobrazení v MB)
  3. Vytvořte nové diskové oddíly (interaktivní metoda)
  4. Ověřte konzistenci tabulky oddílů
  5. Zobrazit celkovou velikost oddílu
  6. Vypsat podrobnosti o oddílu disku do textového souboru
  7. Vytvořit nové oddíly z textového souboru (neinteraktivní metoda)
  8. Zobrazit podrobnosti o rozšířeném oddílu
  9. Zobrazit geometrii disku pro ladění
  10. Zobrazit všechny typy diskových oddílů
  11. Manipulujte pouze s jedním diskovým oddílem
  12. Režim zkušebního provozu pro ověření
  13. Označit konkrétní oddíl jako spouštěcí
  14. Změnit typ oddílu
  15. Vytvořte nové oddíly ze skriptu Shell (neinteraktivní metoda)

1. Zobrazit existující diskové oddíly

Pomocí volby -l můžete zobrazit všechny diskové oddíly. -l znamená seznam.

Ve výchozím nastavení se zobrazí oddíly všech disků na vašich systémech.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

Ve výše uvedeném:

  • Zobrazuje oddíly pro zařízení sda i sdf.
  • sda má pouze jeden oddíl. tj. sda1. Ale volba -l bude stále vždy zobrazovat informace o všech 4 primárních oddílech. Protože v tomto příkladu má sda pouze jeden oddíl (tj. sda1), u zbývajících 3 oddílů (sda2, sda3, sda4) bude v posledním sloupci uvedeno „Prázdné“.
  • Zařízení sdf nemá žádný oddíl. tj. na tomto zařízení ještě nebylo nic vytvořeno. Pro toto zařízení tedy nic neuvádí.

Můžete také zobrazit diskové oddíly konkrétního zařízení zadáním názvu zařízení, jak je uvedeno níže.

# sfdisk -l /dev/sdf

Místo -l můžete také použít –list, jak je uvedeno níže.

sfdisk --list
sfdisk --list /dev/sdf

Pokud jste ve správě pevného disku nováčkem, možná budete chtít také porozumět tomu, jak používat běžný důvěryhodný příkaz fdisk:7 Linux fdisk Příklady příkazů pro správu oddílu pevného disku

2. Změnit jednotky zobrazení (velikost zobrazení v MB)

Ve výchozím nastavení bude sfdisk zobrazovat velikost v blocích. Ve výše uvedeném výstupu sfdisk -l se podívejte na sloupec nazvaný „#blocks“.

Pokud však chcete zobrazit velikost v MB, použijte volbu -u, jak je uvedeno níže. -u znamená Jednotka. Musíte určit typ jednotky. V tomto příkladu je typ jednotky, který určujeme, M (což je MB)

Volba -uM nahradí sloupec „#cyls“ z výše uvedeného výstupu hodnotou „MiB“ (velikost v MB), jak je uvedeno níže.

# sfdisk -l -uM

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdf1         0+  8032-  8033-   8225279+  83  Linux
/dev/sdf2      8032+  8189-   157-    160650   83  Linux
/dev/sdf3         0      -      0          0    0  Empty
/dev/sdf4         0      -      0          0    0  Empty

Níže jsou uvedeny různé typy jednotek, které můžete zadat:

  • M pro MB
  • C pro počet válců (toto je výchozí nastavení)
  • S pro počet sektorů
  • B pro počet bloků (toto se také zobrazuje ve výchozím výstupu spolu s #cylindry)
# sfdisk -l -uM
# sfdisk -l -uC 
# sfdisk -l -uS 
# sfdisk -l -uB 

3. Vytvořte nové diskové oddíly (interaktivní metoda)

V následujícím příkladu vezmeme prázdný pevný disk (sdf) a vytvoříme na něm oddíly pomocí sfdisk.

# sfdisk /dev/sdf

Následuje výstup výše uvedeného příkazu rozdělený do několika sekcí, aby bylo možné jej snadno pochopit.

Nejprve zkontroluje sdf, aby se ujistil, že není aktuálně připojen nebo není používán někým jiným.

Checking that no-one is using this disk right now ...
OK

Dále zobrazí informace o aktuálním oddílu na tomto zařízení. Jak je vidět odtud, v současné době na zařízení sdf nejsou žádné oddíly.

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
sfdisk:  /dev/sdf: unrecognized partition table type

Old situation:
sfdisk: No partitions found

Dále vás požádá o zadání velikosti oddílu pro všechny 4 primární oddíly. I když chcete vytvořit pouze jeden oddíl, zobrazí se výzva ke 4 různým časům pro všechny primární oddíly.

V následujícím:

  • V tomto příkladu bych rád vytvořil dva oddíly.
  • Když se tedy zobrazí výzva k zadání „/dev/sdf1 :“, vytvářím první oddíl. Zde jsem zadal „0 1024“. 0 je začátek válce a 1024 je konec válce pro 1. oddíl.
  • Dále, když se zobrazí výzva k zadání „/dev/sdf2:“, vytvářím 2. oddíl. Zde jsem jen stiskl enter, čímž zabere veškerý zbývající prostor a vytvořím 2. oddíl.
  • Dále jsem právě stiskl enter pro sdf3 a sdf4. Protože na sdf nezbývá žádné místo, bude pouze prázdný, jak je znázorněno níže.
  • Upozorňujeme také, že ve výchozím nastavení vytvoří oddíl typu „Linux“. Pokud jej chcete změnit na jiný typ, měli byste typ zadat.
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).

/dev/sdf1 :0 1024
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2 :
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3 :
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4 :
/dev/sdf4          0       -       0          0    0  Empty

Nyní sfdisk zobrazí oddíly, které vytvoří. Jak je znázorněno níže, vytvoří se dva oddíly (sdf1 a sdf2).

New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.

Nakonec požádá o potvrzení. Pokud jste udělali chybu a nechcete vytvářet výše uvedené oddíly, zadejte „q“ pro ukončení. Zde jsem zadal y, abych vytvořil tyto dva nové oddíly.

Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Nakonec jsem ověřil, že oddíly byly úspěšně vytvořeny pomocí sfdisk -l, jak je uvedeno níže.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Související informace o vytváření velkých oddílů naleznete v tomto:Jak vytvořit oddíl v Linuxu pro velikost>2 TB pomocí Parted GPT

4. Ověřte konzistenci tabulky oddílů

Použijte volbu -V (velká písmena V) k provedení kontroly konzistence tabulek oddílů. V znamená ověřit.

Jak je znázorněno na následujícím výstupu, řekne „OK“, když je vše v pořádku. Tím se také zobrazí varovná hlášení.

# sfdisk -V
Warning: partition 1 does not end at a cylinder boundary
/dev/sda: OK
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
/dev/sdf: OK

Můžete také ověřit pouze konkrétní zařízení, jak je uvedeno níže.

# sfdisk -V /dev/sdf

Můžete také kombinovat možnosti V a l, jak je znázorněno níže.

sfdisk -lV

Pokud provádíte ověření zevnitř skriptu shellu, můžete použít volbu -q spolu s V. q znamená tichý. V tomto případě nezobrazí žádný výstup. Můžete však zkontrolovat stav příkazu a zkontrolovat, zda kontrola konzistence prošla nebo selhala, jak je uvedeno níže.

# sfdisk -Vq 

# echo $?
0

Pokud chcete zkontrolovat konzistenci samotného obsahu disku, použijte tuto metodu:10 příkladů příkazů Linux Fsck ke kontrole a opravě souborového systému

5. Zobrazit celkovou velikost oddílu

Chcete-li zobrazit celkovou velikost disku včetně všech oddílů, použijte volbu -s. -s znamená velikost.

Zobrazí se celková velikost oddílu v počtu bloků.

Ve výchozím nastavení se zobrazí celková velikost oddílu pro každý pevný disk ve vašem systému. Také zobrazí celkovou velikost všech disků ve vašem systému, jak je uvedeno níže.

# sfdisk -s
/dev/sda:   8388608
/dev/sdf:   8388608
total: 16777216 blocks

Můžete také určit jednotlivý oddíl pevného disku (nebo) podle níže uvedeného obrázku.

# sfdisk -s /dev/sdf
8388608
# sfdisk -s /dev/sdf1
1654694

6. Vypsat podrobnosti o oddílu disku do textového souboru

sfdisk také poskytuje možnost vypsat všechny informace o diskových oddílech do textového souboru.

K tomu použijte volbu -d. -d znamená výpis.

Ve výchozím nastavení -d vypíše výstup na obrazovku. To bude zahrnovat informace o oddílech pro všechna zařízení ve vašem systému.

# sfdisk -d

Můžete také vypsat informace o oddílech konkrétního zařízení, jak je znázorněno níže.

# sfdisk -d /dev/sda

Chcete-li jej vypsat do textového souboru, proveďte následující. Toto vypíše informace o oddílu sda do textového souboru sda.out.

# sfdisk -d /dev/sda > sda.out

# cat sda.out
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size= 16775168, Id=83, bootable
/dev/sda2 : start=        0, size=        0, Id= 0
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0

7. Vytvořit nové oddíly z textového souboru (neinteraktivní metoda)

Krása volby -d spočívá v tom, že můžete vytvořit výpis diskových oddílů konkrétního zařízení a použít jej k vytvoření podobného výpisu diskových oddílů na jiném zařízení.

Pokud například chcete replikovat aktuální oddíl na zařízení sda na zařízení sdf, můžete použít volbu -d, jak je uvedeno níže.

Nejprve přeneste výpis zařízení sda, jak je ukázáno v předchozím příkladu, do souboru sda.out.

Ve výše uvedeném příkladu, jak vidíme, máme jeden oddíl na zařízení sda.

Nyní máme na zařízení sdf dva oddíly.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Nyní použijte soubor sda.out z předchozího příkladu a použijte jej k vytvoření podobných oddílů na zařízení sdf, jak je uvedeno níže.

# sfdisk /dev/sdf < sda.out

Výše uvedený příkaz použije informace o oddílu ze souboru sda.out a použije je k automatickému vytvoření nového oddílu na sdf, aniž by uživatel požadoval jakýkoli vstup, jak je uvedeno níže.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdf1   *      2048  16777215   16775168  83  Linux
/dev/sdf2             0         -          0   0  Empty
/dev/sdf3             0         -          0   0  Empty
/dev/sdf4             0         -          0   0  Empty
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Nyní, jak vidíte z následujícího výstupu, sdf má jeden nový oddíl, který je podobný sda.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

8. Zobrazit podrobnosti o rozšířeném oddílu

x znamená eXtended partition. Když zkombinujete x spolu s l, zobrazí se také neprimární rozšířené oddíly, jak je uvedeno níže.

# sfdisk -lx /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    205     206-   1654694+  83  Linux
/dev/sdf2        206     411     206    1654695   83  Linux
/dev/sdf3        412     514     103     827347+  82  Linux swap / Solaris
/dev/sdf4        515    1043     529    4249192+   5  Extended

/dev/sdf5        515+    617     103-    827347   83  Linux
    -            618    1043     426    3421845    5  Extended
    -            515     514       0          0    0  Empty
    -            515     514       0          0    0  Empty

/dev/sdf6        618+   1043     426-   3421844+  83  Linux
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty

Můžete také použít volbu -x, když vytváříte nové oddíly, v takovém případě se sfdisk zeptá na (nebo očekává) vstupní deskriptory pro ně.

9. Zobrazit geometrii disku pro ladění

Když ladíte jakékoli problémy související s tabulkami oblastí, jednou z věcí, kterou byste měli ověřit, je, zda jsou informace tabulky oblastí na zařízení stejné, jak je chápe jádro.

Je dobré ověřit, že představa jádra o geometrii zařízení je stejná jako skutečná geometrie zařízení přímým čtením tabulky oddílů.

Možnost -G (velká písmena G) zobrazí skutečnou geometrii zařízení přímým čtením tabulky oddílů, jak je uvedeno níže.

# sfdisk -G
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

Volba -g (malé g) zobrazí představu jádra o geometrii zařízení.

# sfdisk -g
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

V tomto příkladu se oba výstupy shodují, jak by měly. Pokud se toto neshoduje, pak je tu nějaký problém.

10. Zobrazit všechny typy diskových oddílů

Chcete-li zobrazit všechny podporované typy oddílů, které lze použít při vytváření nových oddílů pomocí sfdisk, použijte volbu -T. T znamená typ (tj. typ oddílu).

Zobrazí se ID typu oddílu a popisný název. Při vytváření oddílu určíte ID typu oddílu. Například použijte 82 jako typ pro odkládací oddíl.

# sfdisk -T
Id  Name

 0  Empty
 1  FAT12
 2  XENIX root
 3  XENIX usr
 4  FAT16 <32M
 5  Extended
 6  FAT16
..
..
82  Linux swap / Solaris
83  Linux
84  OS/2 hidden C: drive
85  Linux extended
86  NTFS volume set
87  NTFS volume set
88  Linux plaintext
8e  Linux LVM
..
..

Ohledně swapovacího prostoru:2 způsoby, jak přidat swapovací prostor pomocí dd, mkswap a swapon

11. Manipulovat pouze s jedním diskovým oddílem

Pro manipulaci s konkrétním diskovým oddílem můžete použít volbu -N. -N znamená číslo (tj. číslo oddílu).

Toto můžete použít k vytvoření nového oddílu na existujícím disku, který již má jiné oddíly.

V následujícím příkladu v zařízení sdf již máme jeden oddíl. Chceme však vytvořit 2. oddíl.

# sfdisk /dev/sdf -N2
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).
/dev/sdf2 :512 1024
Warning: given size (1024) exceeds max allowable size (532)
/dev/sdf2 :512 532
/dev/sdf2        512    1043     532    4273290    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Ve výše uvedeném:

  • Použili jsme volbu -N2 k manipulaci pouze s 2. oddílem.
  • To znamená, že sfdisk se vás zeptá na informace o oddílu pouze pro sdf2, jak je uvedeno výše.
  • To nezmění stávající oddíl sdf1.
  • Také nebudete vyzváni k zadání informací o sdf3 a sdf4

12. Režim suchého chodu pro ověření

Než skutečně vytvoříte nový oddíl nebo změníte jakékoli informace v tabulkách oddílů, chcete se ujistit, zda je syntaxe příkazu, který máte, v pořádku.

V takovém případě je nejlepší použít volbu -n, která skutečně projde všemi pohyby, aniž by skutečně něco udělala.

Volba -n je volba suchého běhu, která projde tím, co má příkaz udělat, ale nic neuloží ani nezmění.

Například, když měníte typ oddílu, můžete použít volbu -n, která projde příkazem, ale ve skutečnosti nic nezmění, jak je uvedeno níže.

# sfdisk -n --change-id /dev/sdf 1 82
sfdisk: -n flag was given: Nothing changed

Můžete to také použít při vytváření nových oddílů, jak je znázorněno níže. To projde příkazem a zobrazí vše ve výstupu, ale bez vytvoření nových oddílů.

sfdisk -n /dev/sdf < sda.out

13. Označte konkrétní oddíl jako spouštěcí

Použijte volbu -A k označení konkrétního oddílu jako spouštěcího oddílu. -A znamená aktivovat.

Následující příklad je aktivace 2. oddílu (sdf2) jako aktivního oddílu (tj. označení jako bootovací). Vezměte prosím na vědomí, že pokud je již jakýkoli jiný oddíl na tomto zařízení (sdf) označen pro spuštění, jeho označení nyní bude zrušeno.

# sfdisk -A2 /dev/sdf
Done

Jak vidíte z následujícího výstupu, aktivní je pouze sdf2. „*“ ve 2. sloupci (tj. Boot) označuje, že je označen jako spouštěcí oddíl.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

14. Změňte typ oddílu

Můžete změnit typ oddílu existujícího oddílu.

Nejprve použijte volbu –print-id k zobrazení typu oddílu konkrétního oddílu. Následující příkaz zobrazí typ oddílu sdf1. Zde 83 ve výstupu označuje, že sdf1 je typ oddílu Linux.

# sfdisk --print-id  /dev/sdf 1
83

Následující výstup 0 znamená, že oddíl sdf2 je aktuálně prázdný.

# sfdisk --print-id  /dev/sdf 2
0

Nyní použijte volbu –change-id, jak je uvedeno níže, ke změně typu oddílu zařízení s oddílem.

V tomto příkladu měníme typ oddílu oddílu sdf2 na 83 (což je oddíl Linux)

# sfdisk --change-id /dev/sdf 2 83
Done

Jak vidíte z následujícího výstupu, sdf2 je nyní nastaven na typ oddílu Linux (tj. Podívejte se na poslední sloupec „Systém“)

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

15. Vytvořte nové oddíly ze skriptu Shell (neinteraktivní metoda)

Jednou z velkých výhod sfdisk je, že můžete vytvořit oddíl za běhu z příkazového řádku bez jakékoli interakce ze strany sfdisk.

To je velmi užitečné, když chcete zautomatizovat vytváření oddílu ze skriptu shellu.

V současné době, jak vidíte z následujícího výstupu, je zařízení sdf aktuálně prázdné. Toto nemá žádné oddíly.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Nyní spusťte následující příkaz, který automaticky vytvoří tři oddíly (sdf1, sdf2, sdf3) pomocí hodnot uvedených níže.

# sfdisk /dev/sdf <<EOF
0,512
,512
;
;
EOF

Ve výše uvedeném:

  • Ve výše uvedeném vstupu by měly být 4 řádky pro všechny 4 primární oddíly.
  • První řádek označuje, že by se mělo začít od 1. válce do 512, aby se vytvořil 1. oddíl (tj. sdf1)
  • Druhý řádek označuje, že by měl začít od posledního dostupného válce jako první válec a odtud použít +512 cylindrů k vytvoření 2. oddílu (tj. sdf2)
  • Třetí řádek má středník, což znamená, že se používají výchozí hodnoty a uživatel nic nevyzve k zadání třetího oddílu. V tomto případě použije všechny zbývající válce na disku a vytvoří 3. oddíl (tj. sdf3)
  • Čtvrtý řádek má středník, což znamená, že se používají výchozí hodnoty a uživatel nevyzve k zadání čtvrtého oddílu. V tomto případě, protože nezbývá místo, nevytvoří nic pro 4. oddíl (tj. sdf4)

Následuje výstup výše uvedeného příkazu sfdisk. Upozorňujeme, že toto nevyžaduje žádný vstup od uživatele.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Ověřte, že byly tři oddíly vytvořeny automaticky pomocí poskytnutých hodnot.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty

Linux
  1. Příkaz Fdisk v Linuxu (Správa oddílů)

  2. sa Příklady příkazů v Linuxu

  3. Příklady příkazů ac v Linuxu

  1. Příkaz Linux DD – 15 příkladů se všemi možnostmi

  2. Příklady příkazů df v Linuxu

  3. du příklady příkazů v Linuxu

  1. 7 Příklady příkazů Linux df

  2. 8 Příklady příkazů Linux TR

  3. Příklady příkazů rm v Linuxu