ฉันจะแปลงรูทพาร์ติชันจาก BTRFS เป็น EXT4 ได้อย่างไร


13

เป็นไปได้หรือไม่ที่จะแปลง btrfs เป็น ext4 โดยไม่ทำให้ข้อมูลสูญหาย? ฉันพบความเร็วต่ำมากในการอ่าน / เขียนบน btrfs

คำตอบ:


7

ฉันแค่ไปกับเครื่องมือที่มีอยู่ไม่ใช่ประสบการณ์หรือเอกสารประกอบ คุณอาจต้องการทดสอบสิ่งนี้ด้วยพาร์ติชัน (แม้จะเป็นเพียงแค่ภาพ) คุณไม่รังเกียจที่จะแพ้ถ้าทุกอย่างผิดพลาด อย่าพยายามทำสิ่งนี้โดยไม่ทำการสำรองข้อมูล

btrfs-convertมีฟังก์ชั่นย้อนกลับเพื่อยกเลิกการแปลง ฉันไม่แน่ใจว่าจะใช้งานได้กับพาร์ติชั่นที่ไม่ได้แปลงbtrfsด้วยbtrfs-convertหรือไม่

  1. เริ่มต้นโดยยกเลิกการต่อเชื่อมระบบไฟล์ หากจำเป็นต่อระบบให้บู๊ตเป็น LiveCD

  2. ติดตั้ง btrfs-tools

    sudo apt-get install btrfs-tools
    
  3. ย้อนกลับการแปลง

    sudo btrfs-convert -r /dev/sdXn
    

6
โปรดทราบว่าจะใช้งานได้กับระบบไฟล์ที่แปลงแล้วเท่านั้นและหากคุณยังไม่ได้ลบสแนปชอตของระบบไฟล์ ext3 / 4 ดั้งเดิม
htorque

ขอบคุณ แต่น่าเสียดายที่นี่ไม่ได้ผลสำหรับพาร์ติชัน btrfs ที่ไม่ได้แปลงจากระบบไฟล์อื่น ฉันเดาว่าต้องติดตั้งใหม่
mFat

8
โปรดทราบว่านี้จะยกเลิกการเปลี่ยนแปลงใด ๆ ที่ทำในระบบแฟ้มตั้งแต่คุณแปลง มันจะถูกกู้คืนไปยังเนื้อหาของระบบไฟล์ ext2 / 3 เหมือนเดิมก่อนที่คุณจะทำการแปลง
poolie

4

เท่าที่ฉันรู้ว่าคุณไม่สามารถแปลง btrfs เป็นระบบไฟล์อื่น ๆ ได้


ไม่จริงถ้าคุณแปลง ext เป็น btrfs! คุณจะมีสแนปชอตเพื่อย้อนการเปลี่ยนแปลง
Fookatchu

1

ฉันทำสิ่งนี้โดยใช้ระบบที่มี multiboot distros (Ubuntu บน ext4, Xubuntu บน btrfs) ใช้ Ubuntu ฉันได้ใช้ Xubuntu btrfs home partition และเก็บถาวรโดยใช้ fsarchiver ฉันสามารถกู้คืนได้โดยใช้ fsarchiver อีกครั้งเพื่อพาร์ติชันอื่นและระบุประเภทระบบไฟล์ ext4 ดูเหมือนว่าจะทำงานได้ดี

ยังคงอยู่ใน Ubuntu ฉันติดตั้ง Xubuntu root partition บน / mnt และแก้ไข / mnt / @ / etc / fstab เพื่อเปลี่ยน mount สำหรับ / home เพื่อชี้ไปที่พาร์ติชัน ext4 ใหม่เปลี่ยนทั้ง UUID และ fs และลบ ข้อมูล subvolume ฉันบันทึกไฟล์และรีบูตเป็น Xubuntu

มีข้อผิดพลาดในการบูตและการบูตหยุด ข้อผิดพลาดคือฉันมีพาร์ติชันอื่นที่ฉันต้องการที่จะเมานต์ไปที่ไดเรกทอรี ฉันเลือกที่จะแก้ไขปัญหาด้วยตนเอง ปรากฎว่าพาร์ทิชันรูทของฉันถูกเมานต์เป็นโอเคเป็น ext4 แต่เมื่อฉันทำรายการคำสั่ง

#ls /home
@home

ดังนั้นโครงสร้างย่อย btrfs ดั้งเดิมจึงยังคงอยู่ในระบบไฟล์ ext4 ฉันออกคำสั่ง

mount --bind /home/@home /home

จากนั้นฉันกด ctrl-D เพื่อทำการบูทต่อไปและ Xubuntu ยังคงบู๊ตต่อไปและทุกอย่างก็ดีขึ้น ฉันยังไม่ได้ทำเพราะฉันยังอยู่ในการบูตครั้งแรกนี้ แต่ฉันมั่นใจว่าฉันสามารถใส่คำสั่ง bind ในไฟล์ fstab ของฉัน หรือบางทีฉันอาจทิ้งข้อมูล subvolume ไว้ในรายการ fstab ฉันไม่รู้

สิ่งที่ฉันจะทำแทน (นี่คือนอกหัวข้อ) เป็นอินสแตนซ์ที่เป็นผู้ใหญ่มากขึ้นของพาร์ติชัน / home (ext4) สำหรับ Xubuntu จากคอมพิวเตอร์เครื่องอื่นและใช้แทน ฉันได้พิสูจน์แล้วว่าสิ่งนี้จะได้ผล

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