Linux depolama aygıtını sgdisk ile temizleme


4

Bir depolama aygıtından tüm bölüm tanımlarını ve verileri silmek için sgdisk kullanmak , ardından bir GPT ve üzerinde iki bölüm oluşturmak istiyorum . Bulduğum en iyi çözüm -Zve -oseçeneklerini kullanmak.

sgdisk -Zo \
    -n 1::16M -t 1:EF00 -c 1:ZNX_BOOT \
    -N 2 -t 2:8300 -c 2:ZNX_DATA /dev/[device]

Ancak bu, sürücü bir MBR bölüm tablosu ile oluşturulmuşsa veya bir disk görüntüsü üzerine yazılmışsa başarısız olur. Bu komutu, üzerinde kullanılan bölüm tablosu stilinden bağımsız olarak herhangi bir diski silmek için nasıl alabilirim?

Yanıtlar:


3

Bunun soruyu değiştirdiğini biliyorum ama kullanmanız mümkün mü wipefs( util-linuxpaketin bir parçası olarak geliyor )? wipefsher türlü bölümleme (ing) meta verisinin nasıl temizleneceğini ve MBR'lerden, GPT'lerden (yedek GPT ile birlikte), dosya sistemi imzalarından vb.

Kılavuz wipefssayfasının altındaki ÖRNEKLER bölümünden örnekler, bunu nasıl yapabileceğinizi gösterir:

wipefs /dev/sda*

Sda ve sda'daki tüm bölümler hakkında bilgi yazdırır.

wipefs --all --backup /dev/sdb

Aygıttaki tüm imzaları siler /dev/sdbve ~/wipefs-sdb-<offset>.bakher imza için bir imza yedekleme dosyası oluşturur .

UYARI : Adından da anlaşılacağı gibi wipefs verileri yok eder ! Lütfen dikkatli ol...


Peki ya performansı? @ K7AAY önerdi dd, ancak çok yavaş. O kadar hızlı (veya en azından benzer) ise sgdisk, kullanmayı düşünebilirim.
Luis Lavaire

1
@ luis-lavaire ddBir diskin bir sektörünün (512 bayt sektör varsayarak) yavaş olmasından dolayı şaşırdım - neredeyse bir diskin yapabileceği en küçük yazma işlemi! Gerçekten yavaş olsaydı başka bir şeyin yanlış olduğunu tahmin ederdim (örneğin count=1, bırakılmıştı). Sanırım bunun işe yarayıp yaramadığını bs=4k oflag=direct count=1görebileceksiniz ... Yine de sorunuzu cevaplamak için: Deneyimime wipefsgöre bir saniyeden daha kısa sürede bitiyor (ancak ddcevabın da böyle yapması gerekiyordu).
Anon

1
Hmm blkidmuhtemelen dolambaçlı çünkü UDF dosya sistemleri genellikle bölümlerin içinde değil. github.com/karelzak/util-linux/blob/… rutini gösterir. Bunun wipefsda dosya imzalarını silmede iyi olduğunu söylemiş miydim ? :-) Hatta kullanır blkid( github.com/mmalecki/util-linux/blob/… ) ...
Anon

1
Lütfen [başka bir cevap ekleyin | cevabınızı düzenleyin] böylece kabul edebilir miyim? wipefsaynen öngörüldüğü gibi çalıştı. ;)
Luis Lavaire

1
Cevap şimdi daha iyi mi? Oh ve sebat ettiğin için teşekkürler :-)
Anon

2

Bunu sadece sgdisk içinde yapmanın bir yolunu görmediğime üzüldüm, ama neyse ki, Virtualhelp.me'deki türler ilk önce dd kullanımını önerdi , yani,

dd if=/dev/zero of=/dev/sda bs=512 count=1

ki sgdisk hem atıyor sinir bozucu MBR taşıyıcı bölüm üzerine yazmak için amaçlanmıştır GDisk bir döngü için.


1
Evet, hakkında tanıştım dd. Dezavantajı ÇOK yavaş olmasıdır. Bu yüzden gdisk'i tercih ediyorum.
Luis Lavaire

Anladım, ancak man sqdisk ve man gdisk incelemesi MBR taşıyıcı bölümleriyle başa çıkamadıklarını gösterdiğinden, elimden geleni teklif edebileceğimi düşündü. EFI, MBR'den çok daha iyi durumda, ne zaman biri istediğini söylemiyorsa,
sıkıştım

1
Muhtemelen kullanarak while ! sgdisk -v /dev/device; do sgdisk -Z; donebu görevi yapabilir sanırım . Ve sana katılıyorum, bu GPT, MBR'den çok daha iyi.
Luis Lavaire 10:18

3
Kullanmak gerekiyorsa unutmayın ddboş GPT bölümleme sonra baştan ilk 20 Kbytes kaldırmak gerekir VE diskin sonuna. Ayrıntılar için serverfault.com/a/787210/203726 adresine bakın (ayrıca bkz. En.wikipedia.org/wiki/GUID_Partition_Table ).
Anon

0

Bu komut işi yaptı:

wipefs -af $DEVICE

sgdisk -Z \
    -n 1::132M -t 1:EF00 -c 1:ZNX_BOOT \
    -N 2 -t 2:8300 -c 2:ZNX_DATA $DEVICE

Firs komutu bölüm meta verilerini, ikincisi ise verileri temizler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.