Puncte:0

sfdisk: creați o partiție din dreapta

drapel it

Vreau să creez partiția 2 cu o dimensiune specificată, în timp ce partiția 1 ocupă restul discului:

echo -en 'g\nw' | fdisk „$2” #creați tabel gpt
echo -ro ',1331200\n,,U' | sudo sfdisk "/dev/sda" -W întotdeauna

Ultima comandă creează partiția din stânga de 650MB și cea din dreapta ocupând restul discului, dar așa cum am specificat deja, nu este ceea ce am nevoie. Pentru a crea partiția din dreapta de 650MB și cea din stânga ocupând restul discului, m-am gândit să fac ceva de genul:

echo -en ',-1331200\n,,U' | sudo sfdisk "/dev/sda" -W întotdeauna

cu gândul că valorile negative au pornit de la dreapta, dar în schimb cele - semnul este complet ignorat și comanda are același efect ca și cea fără - semn.

Cum creez o partiție pornind de la dreapta folosind sfdisk?

waltinator avatar
drapel it
În ce mediu rulezi acest fragment? Te-ar ajuta procesarea textului `sfdisk --list`? Luați în considerare utilizarea „expect” pentru a vă automatiza conversația cu „sfdisk”. Citiți „omul aștept”.
drapel it
În ce sens ce mediu?
Puncte:1
drapel jp

Nu văd nimic în sfdisk documentație care sugerează că susține o valoare relativă negativă. Ar funcționa pentru a calcula poziția de pornire a partiției?

Voi demonstra utilizarea unui fișier loopback rar care simulează un disc de 2 GB

root@ubuntu:~# fallocate -l 2G filesystem.img
root@ubuntu:~# losetup -f filesystem.img
root@ubuntu:~# losetup -a | grep filesystem.img
/dev/loop6: [2049]:20 (/root/filesystem.img)

Poziția de început a partiției dvs. de 650 MB poate fi găsită scăzând 650 MB de la sfârșitul discului. $(blockdev --getsize64 /dev/loop6) / 1024 furnizează dimensiunea discului în KiB. 650 * 1024 este de 650 MiB în KiB. Puneți-le împreună pentru a afla câți KiB să folosiți pentru prima partiție.

root@ubuntu:~# echo $(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))
1431552

Această valoare poate fi utilizată direct la crearea partițiilor cu sfdisk

root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> etichetă: gpt
> 1431552 KiB,,,-
> ,,,-
> EOF
...
Situație nouă:
Tip etichetă de disc: gpt
Identificator disc: 77816CA7-8A39-974B-A78D-CFCB2A5D66EC

Dispozitiv Start End Sectors Size Type
/dev/loop6p1 2863104 4194270 1331167 Sistem de fișiere Linux 650M
/dev/loop6p2 2048 2863103 2861056 Sistem de fișiere Linux 1.4G
...

De asemenea, puteți calcula valoarea din mers

root@ubuntu:~# wipefs -a /dev/loop6
...
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> etichetă: gpt
> $(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))KiB,,,-
> ,,,-
> EOF
...
Situație nouă:
Tip etichetă de disc: gpt
Identificator disc: 661C7E48-3342-3842-81BE-1AF4CB51BC6E

Dispozitiv Start End Sectors Size Type
/dev/loop6p1 2863104 4194270 1331167 Sistem de fișiere Linux 650M
/dev/loop6p2 2048 2863103 2861056 Sistem de fișiere Linux 1.4G
...

Exemplele anterioare v-au creat mai întâi partiția de 650 MB. Acest lucru poate fi puțin confuz, deoarece partițiile nu sunt în ordinea tipică. Puteți crea mai întâi partiția „restul discului” pentru a evita confuzia.

root@ubuntu:~# wipefs -a /dev/loop6
...
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> etichetă: gpt
> ,$(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))KiB,,-
> ,,,-
> EOF
...
Situație nouă:
Tip etichetă de disc: gpt
Identificator disc: 3EF08C46-AF4F-1F48-B8AF-A65D67C438B7

Dispozitiv Start End Sectors Size Type
/dev/loop6p1 2048 2865151 2863104 Sistem de fișiere Linux 1.4G
/dev/loop6p2 2865152 4194270 1329119 649M sistem de fișiere Linux
...
drapel it
Datorită ție problema mea a fost rezolvată.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.