Saya telah memigrasi sistem saya dari btrfs ke ext4 setelah mengalami masalah kinerja dengan VM. Saya memiliki dua hard drive di laptop saya untuk bekerja dengannya. Saya telah berhasil memindahkan partisi rumah saya, tetapi langkah yang sama yang saya gunakan tidak berfungsi untuk root.
Kemajuan sejauh ini:
Saya sudah dd
partisi root saya dari /dev/sda3
menjadi /dev/sdb3
. Saya memodifikasi /etc/fstab
sebagai berikut:
$ 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
dan lari sudo mkinitcpio -p linux
. Sepertinya berhasil. Saya dapat mem-boot dengan memasang partisi pada disk kedua. df
menunjukkan:
$ df
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3 28G 18G 9.8G 65% /
Jadi, jelas, sdb3
sudah terpasang, tidak sda3
. Inilah langkah yang bermasalah: Ketika saya mencoba memformat sda3
, yang seharusnya tidak digunakan, saya mendapatkan yang berikut:
$ 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
sedang digunakan. Bagaimana dan mengapa itu bisa digunakan?
Sesuai komentar casey, output dari 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)
Sesuai komentar Warwick, tidak terpasang:
$ sudo umount /dev/sda3
umount: /dev/sda3: not mounted
Mounting dan umounting sda3 di tempat lain berhasil, tetapi tidak mengubah apa pun.
Perbarui: Lebih banyak perilaku mencurigakan:
$ 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)
Setelah menginstal sda3, sdb3 tidak lagi mounter. Aneh, ya?
Sesuai mikeserv:
$ rmmod btrfs
rmmod: ERROR: Module btrfs is in use
Ini sangat diharapkan, karena sdb3 adalah btrfs dan seharusnya di-mount ke root. Dari file mkinitcpio.conf saya:
MODULES=""
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
sumber
wipefs
pada disk untuk menghapus superblok ...rmmod
Ada banyak cara Anda bisa pergi, tetapi mereka mungkin semua akan turun kepada Anda untuk tidak memuat atau menurunkan modul.Jawaban:
Saya menemukan jawabannya. Bootloader saya tidak dikonfigurasi dengan benar. Kedengarannya jelas, bukan? Memodifikasi fstab tidak cukup memenuhi syarat untuk mengkonfigurasi bootloader. Saya harus mengubah baris
/boot/syslinux/syslinux.cgf
untuk merujuk ke partisi boot yang benar.Yang mengatakan, tidak perlu boot dari disk kedua di tempat pertama. Saya bisa menghindari masalah ini dengan menyelesaikan seluruh proses dalam lingkungan hidup dan menjalankan proses chroot
mkinitcpio
.sumber