เหตุใดจึงต้องใช้พาร์ติชันโดยระบบหากไม่ได้ติดตั้ง


12

ฉันได้ทำการโยกย้ายระบบจาก btrfs ไปยัง ext4 หลังจากพบปัญหาประสิทธิภาพการทำงานกับ VMs ฉันมีฮาร์ดไดรฟ์สองตัวในแล็ปท็อปของฉันให้ทำงานด้วย ฉันย้ายพาร์ติชั่นโฮมเรียบร้อยแล้ว แต่ขั้นตอนเดียวกับที่ฉันใช้ไม่ได้ผลกับรูท

ความคืบหน้าจนถึงตอนนี้:

ฉันได้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:

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 และควรติดตั้งกับรูท จากไฟล์ mkinitcpio.conf ของฉัน:

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

ลองติดตั้งแล้วยกเลิกการต่อเชื่อม บางทีการตั้งค่าสถานะบางแห่งที่ทำให้มันคิดว่ามันติดตั้งเมื่อมันไม่ได้ หากข้อผิดพลาดเมื่อทำการติดตั้งหวังว่ามันจะบอกคุณถึงจุดเชื่อมต่อที่คิดว่าติดตั้งอยู่ที่
Warwick

รับโมดูลเคอร์เนล / hooks btrfs จาก initramfs arch มีจำนวนน้อย บัญชีดำไม่เช่นนั้นหรือwipefsบนดิสก์เพื่อลบ superblocks ... rmmod... มีหลายวิธีที่คุณสามารถทำได้ แต่สิ่งเหล่านั้นอาจลงมาที่คุณไม่โหลดหรือขนถ่ายโมดูล
mikeserv

1
อาจมีโปรแกรมอื่น ๆ ที่เปิด / dev / sda3 ไว้
programmerjake

1
คุณควรจะทำเช่นนี้จากสภาพแวดล้อมที่อยู่ ...
jasonwryan

@case เสร็จแล้ว / dev / sdb3 ถูกติดตั้งอย่างชัดเจน
ตุ๋น

คำตอบ:


5

ฉันคิดออก bootloader ของฉันไม่ได้รับการกำหนดค่าอย่างเหมาะสม ฟังดูชัดเจนใช่มั้ย การปรับเปลี่ยน fstab ไม่ได้มีคุณสมบัติเพียงพอที่จะกำหนดค่า bootloader ฉันต้องเปลี่ยนสาย/boot/syslinux/syslinux.cgfเพื่ออ้างถึงพาร์ทิชันบูตที่ถูกต้อง

ที่กล่าวว่าไม่จำเป็นต้องเริ่มระบบจากดิสก์ที่สองในตอนแรก ฉันอาจจะหลีกเลี่ยงปัญหานี้โดยการกรอกกระบวนการทั้งหมดในสภาพแวดล้อมที่อยู่อาศัยและ chroot mkinitcpioไอเอ็นจีในการวิ่ง


2
ดังนั้นคุณ booted off sda3 จากนั้นติดตั้ง sdb3 ที่ด้านบน / ด้านบนของมันซึ่งเขียนทับรายการ mtab ดังนั้นเอาต์พุตคำสั่ง mount จะไม่แสดงสัญญาณของ sda3
Kyle Jones

@ KyleJones Yup ผลรวมนั้นขึ้น
ตุ๋น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.