Я мігрував свою систему з btrfs в ext4 після того, як зіткнувся з проблемами продуктивності з VM. У мене є два жорстких диска в моєму ноутбуці для роботи. Я успішно перемістив свій домашній розділ, але ті самі кроки, які я використав, не працюють для root.
Прогрес поки що:
Я буду 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 вже не є монтувальником. Дивно, так?
Відповідно до mikeserv:
$ rmmod btrfs
rmmod: ERROR: Module btrfs is in use
Це дуже очікувано, оскільки sdb3 є btrfs і повинен бути змонтований до root. З мого файлу mkinitcpio.conf:
MODULES=""
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
wipefs
на диску, щоб видалити суперблоки ... rmmod
.... Є багато способів, якими ви могли б піти, але вони, ймовірно, всі зберуться до вас, не завантажуючи і не вивантажуючи модуль.