Yeniden başlatma olmadan yeni fdisk tablosunu nasıl kullanabilirim (kpartx)?


11

Ben fdisk çalıştırmak ve bir bölümün boyutunu değiştirmek, fdisk çıktı sonunda diyor:

The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)

Yeniden başlatmak zorunda kalmadan bunu yapmak istiyorum (ve sonra bunu yapan bir komut dosyası yazmak) Bunu doğru yapmak için kpartx nasıl kullanılır ? Denedim:

kpartx -f -v /dev/mmcblk0

Hangi çıktılar:

mmcblk0p1 : 0 102400 /dev/mmcblk0 2048
mmcblk0p2 : 0 7657472 /dev/mmcblk0 104448

ve:

kpartx -a -v /dev/mmcblk0

hangi çıktılar:

device-mapper: reload ioctl on mmcblk0p1 failed: Invalid argument
create/reload failed on mmcblk0p1
add map mmcblk0p1 (0:0): 0 102400 linear /dev/mmcblk0 2048
device-mapper: reload ioctl on mmcblk0p2 failed: Invalid argument
create/reload failed on mmcblk0p2
add map mmcblk0p2 (0:0): 0 7657472 linear /dev/mmcblk0 104448

Bu debian çalışan bir raspi SD kart içindir.

EDIT: Ne yapmaya çalışıyorum netleştirmek için; Kullanılmayan bir p3'ü bir SD Karttan siliyorum ve kartı doldurmak için p2'yi yeniden boyutlandırıyorum. Kart şu anda küçük bir önyükleme bölümü p1 içerir ve p2, işletim sisteminin bulunduğu yerdir.


SD kart şu anda kullanılıyor mu? (Örn, üzerinde bir dosya sistemi var mı?)
derobert

@derobert, evet öyle. 2 bölümü vardır: küçük bir önyükleme bölümü ve işletim sisteminin çoğunluğunun bulunduğu daha büyük bir ana bölüm. Sadece kartı doldurmak için 2. bölümü genişletmeye çalışıyorum.
Ahtapot

2
Eminim cevap budur - yapamazsınız. Aygıt kullanılmadığı sürece çekirdek bir bölüm tablosunu yeniden
okumaz

Yardımcı partprobeolur mu?
Gilles 'SO- kötü olmayı kes'

Yanıtlar:


7

İstemezsiniz partx -u, kpartx(cihaz eşleyici cihazlarda çalışır).


-uBayrağın amacı nedir ?
IgorGanapolsky

1
@IgorGanapolsky, çekirdek bölümü tablosunu diskteki biriyle eşleşecek şekilde güncelleştirmek için. Kısa bir man partxcevap bu olurdu.
psusi

@Octopus Bu benim için yaptı, partprobe yoktu. Partprobe daha sonra bu hata olmadan döndü.
Duncan X Simpson

6

@Derobert'in (orijinal soruya yorum yapan) muhtemelen doğru olduğuna inanıyorum. Halihazırda kullanılmakta olan bir disk bölümleme durumunda, yeniden başlatmaktan başka bir seçenek yok gibi görünüyor.

Kullandığımda bile partprobe(ile elde edilen apt-get install parted) aşağıdaki çıktıyı alıyorum:

Error: Partition(s) 2, 3 on /dev/mmcblk0 have been written, but we have 
been unable to inform the kernel of the change, probably because it/they 
are in use.  As a result, the old partition(s) will remain in use.  You 
should reboot now before making further changes.

Aynı şeyi yaptım, iyi haber şu ki, sökmek, partprobe <aygıt> çalıştırmak ve her iki bölümü yeniden başlatmadan yeniden monte edebiliyordum. Maalesef hizmetlerin kapatılması nedeniyle kesinti süresine gerek duyuluyordu.
Rahly

3
parted/ ' Nin daha yeni sürümleri partprobeböyle bir hata vermez ve yeniden başlatmadan monte edilmiş bir bölümde kullanılabilir.
psusi

@psusi, son bir sürümünü kullanıyorum partedama yine de aynı hatayı alıyorum. Çözüm, cihazda çalıştırmadan önce partedcihazın bağlantısını
kesmektir

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.