Vraag Hoe kan ik snel een GPT-partitieschema kopiëren van de ene harde schijf naar de andere?


Op een niet GPT-partitietabel die ik kan doen

sfdisk -d /dev/sda | sfdisk /dev/sdb.

Maar sfdisk biedt geen ondersteuning voor GPT-partitietabellen. Wat kan ik in plaats daarvan gebruiken?

Ik ben op zoek naar een een of twee opdrachtoplossing, niet alleen GNU parted gebruiken om de partitiegroottes uit te voeren en ze vervolgens handmatig opnieuw te maken.


76
2017-08-20 00:20


oorsprong


De partitioneringshulpmiddelen util-linux (inclusief sfdisk) werden herschreven om GPT-ondersteuning voor util-linux 2.26 te omvatten. sfdisk is anders dan gdisk in zoverre dat het geen ondersteuning biedt voor het plaatsen van een kleine bootpartitie voor 1MiB, dus het verslikte zich in mijn config. (bug eerder upstream gerapporteerd.) - Peter Cordes
Wanneer ik een MBR-schijf naar een kleinere schijf kloont, bewerk ik naast sfdisk -d ook de dump en wijzig ik begin / eindsectoren. Hoe doe ik dit met sgdisk voor GPT-schijven? -R-klonen zonder tussentijds back-upbestand en -b maakt een binaire back-up, niet menselijk leesbaar / bewerkbaar zoals sfdisk dat doet! - Costin Gușă
update hier over: sfdisk accepteert nu wat je het geeft wanneer het op deze manier wordt gebruikt, inclusief een kleine opstartpartitie die de GPT volgt en eindigt op 1 MB. unix.stackexchange.com/a/12988/79808 - Peter Cordes
Wat dacht je van dd if=/dev/sda of=/dev/sdb? - juniorRubyist


antwoorden:


Installeren gDisk die beschikbaar is in de Ubuntu Universe-bibliotheken.

Gebruik dan de sgdisk commando (man pagina hier) om de partitietabel te repliceren:

sgdisk /dev/sdX -R /dev/sdY 
sgdisk -G /dev/sdY

Het eerste commando kopieert de partitietabel van sdX naar sdY (zorg ervoor dat je deze niet door elkaar gooit). Het tweede commando maakt de GUID op de schijf en alle partities willekeurig. Dit is alleen nodig als de schijven in dezelfde machine moeten worden gebruikt, anders is het niet nodig.


112
2017-08-20 01:34



Deze informatie is goud voor iedereen die een defecte RAID-1-schijf wil vervangen. Bedankt! - Christian
@Christian Yep, daar heb ik het voor gebruikt. - Kris Harper
Voordat u destructieve wijzigingen aanbrengt, moet u een back-up maken met: sgdisk --backup=/some/safe/location/sdX.gpt /dev/sdX en sgdisk --backup=/some/safe/location/sdY.gpt /dev/sdY - Michael Kropat
Deze opdracht werkt, maar er moet worden opgemerkt dat de volgorde van de schijf achterwaarts is in het voorbeeld. Een meer voor de hand liggende manier om dit te schrijven is sgdisk /dev/sdX -R /dev/sdY - Geoffrey
@KrisHarper: inderdaad, maar omdat het programma getopt gebruikt om de commandoregelargumenten te parseren, maakt de volgorde niets uit van squatten. De man-pagina moet worden bijgewerkt. - Geoffrey


Ik heb het geprobeerd en het werkte niet voor mij. De oplossing die ik heb gevonden is:

sgdisk --backup=table /dev/sda
sgdisk --load-backup=table /dev/sdb
sgdisk -G /dev/sdb

28
2017-08-17 20:34



Ik vond dat deze oplossing beter is, omdat deze kan werken met niet-GPT. Ik verander ook de laatste opdracht naar: sgdisk -g / dev / sdb - Locke
Het bovenstaande werkt, je moet letten op het feit dat het voorbeeld een beetje achterlijk is (hoewel correct). sgdisk /dev/sdX -R /dev/sdY is meer voor de hand liggend. - Geoffrey
Maak eerst een back-up en herstel vervolgens. Ik vind dit meer intuïtief en minder kans om de schijven te mixen. - Csq


dd if=/dev/sda of=GPT_TABLE bs=1 count=A
dd if=GPT_TABLE of=/dev/sdb bs=1 count=A
partprobe /dev/sdb

waar A is:

A=(128*B)+1024
B=parted -ms /dev/sda print |tail -1|cut -b1

8
2018-01-05 10:34



Dit klonen ook alle schijf- en partitie-GUID's die misschien niet zijn wat je wilt. Ook wordt de back-uptabel aan het einde van de schijf niet geïnstalleerd. - goertzenator
Ik vind deze manier leuk! maar schrijf liever: sed '$s/:.*//p;d' in plaats daarvan tail -n1 | cut -b1 aangezien dit zal mislukken als je meer dan 9 partities hebt! - F. Hauri
@goertzenator Je hebt gelijk, hiervoor mag je rennen regelmatig  parted tool, doe iets (zoals het instellen van een unset-vlag op no), zal dit de partitietabel aan beide kanten herschrijven! - F. Hauri


Ik heb zojuist replicatie met sgdisk geprobeerd en het werkt prima - u hoeft alleen de syntaxregels voor leesregels te volgen:

   sgdisk --replicate=/dev/target /dev/source

of

   sgdisk -R/dev/target /dev/source

en alles werkt.


2
2017-11-05 18:53



Dit is precies wat mijn antwoord zegt. - Kris Harper


Het eenvoudigste antwoord hierop is:

sudo sfdisk -d /dev/sda | sudo  sfdisk /dev/sdb --force

om de 'goede' partitietabelconfiguratie van A naar de vervangende schijf B (die de nieuwe schijf is) te kopiëren.


-2
2017-08-18 15:04



Je hebt het deel in de vraag gemist dat verklaart waarom dit geen optie is. - DavidW
Jouw antwoord doet het werkt niet voor GPT alleen voor non-GPT - Jan Dev