パーティションがマウントされていないのに、システムがパーティションを使用するのはなぜですか?


12

VMのパフォーマンスの問題に遭遇した後、システムをbtrfsからext4に移行しました。私のラップトップには2台のハードドライブがあります。ホームパーティションを正常に移動しましたが、使用した手順と同じ手順がルートに対して機能していません。

これまでの進捗:

私がしましたdd「から、私のルートパーティションはd /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ます。うまくいくようです。2番目のディスクにパーティションをマウントすることで起動できます。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使用中です。どのようにそしてなぜそれが使用されているのでしょうか?

ケーシーのコメントによると、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)

ワーウィックのコメントによると、アンマウント:

$ 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はマウンターではなくなります。変だよね?

mikeservによると:

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

sdb3はbtrfsであり、ルートにマウントされることになっているため、これは非常に期待されています。私のmkinitcpio.confファイルから:

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

マウントしてから、アンマウントしてください。フラグはどこかに設定されているため、マウントされていないときにマウントされていると思われます。マウント時にエラーが発生した場合は、マウントポイントと認識され、マウントされていると考えられます。
ワーウィック14

initramfsからbtrfsカーネルモジュール/フックを取得します。アーチにはそれらのいくつかがあります。それ以外の場合、またはwipefsスーパーブロックを削除するためにディスク上でブラックリストに追加します... rmmod....いろいろな方法がありますが、モジュールのロードまたはアンロードを行わない場合があります。
mikeserv 14

1
他のプログラムが/ dev / sda3を開いている
可能性があります

1
あなたは本当に...実際の環境からこれを実行する必要があります
jasonwryan

@case完了。/ dev / SDB3を明確に搭載されている
stewSquared

回答:


5

私はそれを考え出した。ブートローダーが適切に構成されていません。当たり前のようですね。fstabを変更することは、ブートローダーを構成することとしては十分ではありません。/boot/syslinux/syslinux.cgf正しいブートパーティションを参照するには、行を変更する必要がありました。

とはいえ、そもそも2番目のディスクから起動する必要はありませんでした。ライブ環境でプロセス全体を完了し、実行するためにchrootすることで、この問題を回避できましたmkinitcpio


2
そのため、sda3からブートし、その上にsdb3をマウントしました。これにより、mtabエントリが上書きされたため、mountコマンド出力にsda3の兆候が表示されませんでした。
カイルジョーンズ14

@KyleJonesうん。それはそれを要約します。
stewSquared
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.