파티션이 마운트되지 않은 경우 시스템이 파티션을 사용하는 이유는 무엇입니까?

파티션이 마운트되지 않은 경우 시스템이 파티션을 사용하는 이유는 무엇입니까?

가상 머신 성능 문제가 발생한 후 시스템을 btrfs에서 ext4로 마이그레이션하고 있습니다. 내 노트북에는 두 개의 하드 드라이브를 사용할 수 있습니다. 홈 파티션을 성공적으로 이동했지만 사용한 것과 동일한 단계가 루트에서는 작동하지 않습니다.

지금까지의 진행 상황:

dd내 루트 파티션을 다음과 /dev/sda3같이 수정 했습니다 /dev/sdb3./etc/fstab

$ 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

그리고 실행하십시오 sudo mkinitcpio -p linux. 작동하는 것 같습니다. 두 번째 디스크에 파티션을 마운트하여 부팅할 수 있습니다. df보여주다:

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

따라서 sdb3분명히 sda3. 문제의 단계는 다음과 같습니다. sda3(사용되지 않는 것으로 추정되는) 포맷을 시도하면 다음과 같은 결과가 나타납니다.

$ 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사용. 어떻게 그리고 왜 사용됩니까?

Casey의 의견에 따르면 설치 결과는 다음과 같습니다.

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)

Warwick의 의견에 따라 다음을 제거하십시오.

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

다른 곳에서 sda3를 마운트 및 마운트 해제하면 성공적으로 작동하지만 아무 것도 변경되지 않습니다.

업데이트: 더 의심스러운 행동:

$ 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)

sda3을 마운트한 후에는 sdb3은 더 이상 마운터가 아닙니다. 이상하지 않나요?

Mike Services에 따르면:

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

sdb3은 btrfs이고 루트에 설치해야 하기 때문에 이는 매우 바람직합니다. 내 mkinitcpio.conf 파일에서:

MODULES=""
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

답변1

나는 그것에 대해 생각했다. 내 부트로더가 올바르게 구성되지 않았습니다. 당연한 것 같죠? fstab 수정은 부트로더 구성과 정확히 동일하지 않습니다. /boot/syslinux/syslinux.cgf올바른 부팅 파티션을 참조하려면 한 줄을 변경해야 했습니다 .

즉, 처음부터 두 번째 디스크를 시작할 필요가 없습니다. 전체 프로세스를 실제 환경에서 수행하고 이를 루트화함으로써 이 문제를 피할 수 있었습니다 mkinitcpio.

관련 정보