Eu tenho uma máquina com um único SSD e 3 partições. Eu quero desmontar todo o SSD enquanto estiver ao vivo para que eu possa executar uma ferramenta de atualização de firmware no SSD. Eu sei que desmontar o seu único disco não é recomendado, mas acho que está tudo bem no meu caso, já que o meu rootfs é um squashfs carregado na memória durante a inicialização, e o kernel, teoricamente, também é montado na memória. É por isso que acredito que podemos desmontar todas as partições, executar a atualização de firmware e, em seguida, reinicializar o sistema para voltar ao estado normal.
Meu problema: não consigo desmontar sda1
Eu posso desmontar sda2
(espaço de armazenamento) e sda3
(onde alguns arquivos de log estão armazenados) depois de executar repetidamente as seguintes 2 ou 3 vezes:
fuser -mv /dev/sda1 -k -9
fuser -mv /dev/sda2 -k -9
fuser -mv /dev/sda3 -k -9
umount -f /dev/sda1
umount -f /dev/sda2
umount -f /dev/sda3
Nesse ponto, a execução
fuser -mv /dev/sda1
fuser -mv /dev/sda2
fuser -mv /dev/sda3
produz a saída
USER PID ACCESS COMMAND
/dev/sda1: root kernel mount /boot
Isso me diz que o sda2
e o sda3
foram desmontados com sucesso, mas esse kernel não quer liberar o sda1
. Não importa o que eu tente, sda1
não desmonta
Eu também tentei matar o único processo ligado ao sda1 através de:
$ ps -ef | grep sda
root 423 2 0 00:19 ? 00:00:00 [jbd2/sda1-8]
$ kill -9 423
mas também não tem sorte.
Observação : não consigo usar nenhum outro hardware como um pendrive para ajudar durante todo o processo.
Atualizar :
lsblk
produz o seguinte
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.8G 0 disk
|-sda2 8:2 0 1.9G 0 part
|-sda3 8:3 0 949.2M 0 part
'-sda1 8:1 0 957M 0 part /boot