Por que uma partição estaria em uso pelo sistema se não estivesse montada?

12

Estou migrando meu sistema do btrfs para o ext4 depois de executar problemas de desempenho com as VMs. Eu tenho dois discos rígidos no meu laptop para trabalhar. Eu movi com sucesso minha partição home, mas as mesmas etapas que usei não estão funcionando para o root.

Progresso até agora:

Eu tenho dd minha partição raiz de /dev/sda3 em /dev/sdb3 . Eu modifiquei /etc/fstab para o seguinte:

$ cat /etc/fstab
# 
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
# UUID=95f13c34-96ca-49e3-bcb2-ff594df31506
/dev/sdb3               /               btrfs           rw,noatime,ssd,space_cache,discard      0 0

# UUID=0fe04f59-599f-41e2-ac30-2ad0f17a9727
/dev/sda2               /boot           ext2            rw,relatime     0 2

# UUID=44741e0f-924a-4841-80ef-2132bef84182
/dev/sda4               /home           ext4            rw,noatime,discard      0 0

e execute sudo mkinitcpio -p linux . Parece funcionar. Eu sou capaz de arrancar montando a partição no segundo disco. df mostra:

$ df
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb3        28G   18G  9.8G  65% /

Então, claramente, sdb3 está montado, não sda3 . Aqui está o passo problemático: Quando eu tento formatar o sda3 , que é supostamente não usado, recebo o seguinte:

$ sudo mkfs.ext4 /dev/sda3
[sudo] password for stew: 
mke2fs 1.42.11 (09-Jul-2014)
/dev/sda3 contains a btrfs file system
Proceed anyway? (y,n) y
/dev/sda3 is apparently in use by the system; will not make a filesystem here!

sda3 está em uso. Como e por que poderia estar em uso?

De acordo com o comentário de casey, a saída de mount:

mount | grep sd
/dev/sdb3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)
/dev/sda2 on /boot type ext2 (rw,relatime)

De acordo com o comentário de Warwick, desmontando:

$ sudo umount /dev/sda3
umount: /dev/sda3: not mounted

A montagem e o envio de sda3 em outros lugares funciona com sucesso, mas nada muda.

Atualização: mais comportamento suspeito:

$ mount | grep sd
/dev/sdb3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)
/dev/sda2 on /boot type ext2 (rw,relatime)
$ sudo mount /dev/sda3 mnt
[sudo] password for stew: 
$ mount | grep sd
/dev/sda3 on / type btrfs (rw,noatime,ssd,discard,space_cache)
/dev/sda4 on /home type ext4 (rw,noatime,discard,data=ordered)
/dev/sda2 on /boot type ext2 (rw,relatime)
/dev/sda3 on /home/stew/mnt type btrfs (rw,relatime,ssd,discard,space_cache)

Após a montagem de sda3, sdb3 não é mais mounter. Estranho, né?

Como por mikeserv:

$ rmmod btrfs
rmmod: ERROR: Module btrfs is in use

Isso é muito esperado, já que o sdb3 é btrfs e deve ser montado no root. Do meu arquivo mkinitcpio.conf:

MODULES=""
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
    
por stewSquared 27.08.2014 / 02:57

2 respostas

4

Eu percebi isso. Meu bootloader não foi configurado corretamente. Soa óbvio, certo? A modificação do fstab não se qualifica como configurando o gerenciador de inicialização. Eu tive que mudar uma linha em /boot/syslinux/syslinux.cgf para se referir a partição de inicialização correta.

Dito isto, não houve necessidade de arrancar do segundo disco em primeiro lugar. Eu poderia ter evitado esse problema concluindo todo o processo em um ambiente ativo e executando o chroot para executar mkinitcpio .

    
por 28.08.2014 / 22:13
-2

Tente limpar completamente o disco rígido primeiro com:

sudo dc3dd wipe=/dev/sdb

Certifique-se de escolher a unidade correta.

    
por 28.08.2017 / 05:35