Quando executo o fdisk e altero o tamanho de uma partição, o fdisk diz no final de sua saída:
The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
Eu gostaria de fazer isso sem ter que reiniciar (e depois escrever um script que o faça) Como usar o kpartx para fazer isso corretamente? Eu tentei:
kpartx -f -v /dev/mmcblk0
Quais saídas:
mmcblk0p1 : 0 102400 /dev/mmcblk0 2048
mmcblk0p2 : 0 7657472 /dev/mmcblk0 104448
e:
kpartx -a -v /dev/mmcblk0
quais saídas:
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
Isto é para um cartão SD em um raspi executando o debian.
EDIT: Para esclarecer o que estou tentando fazer; Estou excluindo um p3 não utilizado de um cartão SD e redimensionando o p2 para preencher o cartão. Atualmente, a placa contém uma pequena partição de inicialização, p1 e p2, onde está o sistema operacional.
partprobe
ajuda?Respostas:
Você deseja
partx -u
, nãokpartx
(que opera em dispositivos mapeadores de dispositivos).fonte
-u
bandeira?man partx
teria respondido a isso.Acredito que @derobert (que comentou a pergunta original) provavelmente está correto. No caso de fdisking de uma partição que está sendo usada no momento, parece que não há outra opção a não ser reiniciar.
Mesmo quando eu uso
partprobe
(que é obtido comapt-get install parted
), recebo a seguinte saída:fonte
parted
/partprobe
não fornecerão esse erro e podem ser usadas em uma partição montada sem reinicialização.parted
mas ainda recebo o mesmo erro. A solução é desmontar o dispositivo antes de executarparted
no dispositivo, então você não tem que reiniciar o sistema, a fim de informar o kernel para usar a nova partição em vez da partição antigaEu estava tendo esse problema porque esqueci de desmontar o dispositivo. Após um:
O fdisk funcionou corretamente.
fonte