1 คะแนน โดย GN⁺ 2024-04-08 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

WinBtrfs v1.9

  • WinBtrfs เป็นไดรเวอร์สำหรับ Windows สำหรับ Btrfs ซึ่งเป็นระบบไฟล์ Linux ยุคถัดไป
  • มีการนำมาพัฒนาใหม่ทั้งหมดตั้งแต่ต้นโดยไม่ใช้โค้ดจาก Linux kernel และทำงานได้บน Windows XP ขึ้นไปทุกเวอร์ชัน
  • ถูกรวมอยู่ใน ReactOS ซึ่งเป็นระบบปฏิบัติการเสรีด้วย
  • หากมีระบบไฟล์ Btrfs อยู่บนอุปกรณ์ MD software RAID ที่สร้างจาก Linux จะต้องใช้ WinMD เพื่อให้ Windows รู้จัก

ฟีเจอร์

  • รองรับการอ่านและเขียนระบบไฟล์ Btrfs
  • รองรับ RAID ทั้งแบบพื้นฐานและขั้นสูง, caching, การค้นพบพาร์ทิชัน Btrfs, การตั้งค่าและดึงข้อมูล ACLs, alternate data streams, การแมประหว่างผู้ใช้ Linux และผู้ใช้ Windows, symbolic links และ reparse points อื่น ๆ, hard links, sparse files, free space cache, preallocation, asynchronous read/write, Btrfs volumes แบบไม่มีพาร์ทิชัน, ตัวเลือกการเมานต์ผ่านรีจิสทรีแยกตามวอลุ่ม, การบีบอัด, รองรับ LXSS, balancing, การเพิ่มและลบอุปกรณ์, การสร้างระบบไฟล์ใหม่, scrub, TRIM/DISCARD, การคัดลอกแบบ Reflink, การส่งและรับ subvolume, การเมานต์แบบ degraded, free space tree, การย่อและขยายวอลุ่ม, LXSS permissions passthrough, การบีบอัด Zstd, Windows 10 case-sensitive directory flags, Oplocks, metadata UUID mismatch flags, checksum types แบบใหม่, รองรับ block group tree

สิ่งที่ต้องทำ

  • รองรับ fs-verity แบบเต็มรูปแบบ, รองรับ Zoned, การจัดเรียงข้อมูล, รองรับ Btrfs quotas, รองรับ transaction log แบบเต็มรูปแบบ, รองรับ Windows transactions

การติดตั้ง

  • ในการติดตั้งไดรเวอร์ ให้ดาวน์โหลดรีลีสล่าสุด แตกไฟล์ แล้วคลิกขวาที่ไฟล์ btrfs.inf และเลือกติดตั้ง
  • ไดรเวอร์มีลายเซ็นแล้ว จึงใช้งานได้ทันทีบน Windows เวอร์ชันใหม่
  • หากใช้ Secure Boot บน Windows 10 อาจจำเป็นต้องแก้ไขรีจิสทรีเพื่อให้ไดรเวอร์ถูกโหลด
  • สามารถใช้งาน WinBtrfs ได้ผ่านตัวจัดการแพ็กเกจ Chocolatey และ Scoop เช่นกัน

การถอนการติดตั้ง

  • หากต้องการถอนการติดตั้ง ให้รันคำสั่งเฉพาะใน Command Prompt หรือค้นหา "Btrfs controller" ใน Device Manager แล้วเลือกถอนการติดตั้ง
  • สามารถถอนผ่านรีจิสทรีได้เช่นกัน

การคอมไพล์

  • สามารถคอมไพล์ได้ด้วย Visual C++ 2019 หรือ GCC on Linux

การแมป

  • การแมปผู้ใช้จะถูกเก็บไว้ในรีจิสทรีคีย์ HKLM\SYSTEM\CurrentControlSet\services\btrfs\Mappings
  • มีการแมประหว่าง Windows SID และ Linux uid และจะถูกนำไปใช้เมื่อไดรเวอร์ถูกโหลด

รองรับ LXSS

  • ไดรเวอร์จะส่งผ่าน Linux metadata ไปยัง LXSS เวอร์ชันล่าสุด แต่ต้องตั้งค่าให้ Windows รับรู้ด้วย

คำสั่ง

  • นอกจากไฟล์ DLL ที่มี GUI interface แล้ว ยังสามารถใช้ rundll32.exe เพื่อทำงานบางอย่างผ่าน command line ได้

การแก้ปัญหา

  • มีวิธีแก้ปัญหาหลากหลายสำหรับการดีบัก, ปัญหาชื่อไฟล์, ปัญหาการทำงานของ Secure Boot, การเปลี่ยน drive letter, ปัญหาการฟอร์แมต, ปัญหาการเมานต์ Synology NAS และ Thecus NAS, ปัญหาการโหลดไดรเวอร์ และอื่น ๆ

บันทึกการเปลี่ยนแปลง

  • มีการบันทึกรายละเอียดการเปลี่ยนแปลงและการแก้บั๊กอย่างละเอียดตั้งแต่ v1.9 ถึง v0.1

บันทึกดีบัก

  • WinBtrfs มีข้อความดีบัก 3 ระดับ และไดรเวอร์เวอร์ชันรีลีสจะแสดงเฉพาะข้อความ error และ FIXME เท่านั้น

ตัวเลือกการเมานต์

  • ไดรเวอร์จะสร้าง subkey ในรีจิสทรีสำหรับแต่ละระบบไฟล์ที่เมานต์ โดยอิงตาม UUID
  • สามารถเพิ่มตัวเลือกการเมานต์สำหรับแต่ละวอลุ่มลงใน subkey นี้ได้

ติดต่อ

  • ยินดีรับฟังข้อเสนอแนะทุกรูปแบบ: mark@harmstone.com

ลิขสิทธิ์

  • โค้ดนี้มีบางส่วนของซอฟต์แวร์อย่าง Zlib, LZO, Zstd, BLAKE2, SHA256 เป็นต้น

ความเห็นของ GN⁺

  • WinBtrfs เป็นเครื่องมือสำคัญที่ช่วยให้สามารถใช้งานระบบไฟล์ Btrfs ของ Linux บน Windows ได้ ช่วยเพิ่มความสามารถในการทำงานร่วมกันระหว่าง Windows และ Linux และทำให้นักพัฒนาหรือผู้ใช้ Linux สามารถใช้ฟีเจอร์อันทรงพลังของ Btrfs ได้แม้อยู่ในสภาพแวดล้อม Windows
  • เนื่องจากไดรเวอร์นี้เผยแพร่เป็นโอเพนซอร์ส ผู้ใช้และนักพัฒนาจึงสามารถแก้ไขและปรับปรุงซอร์สโค้ดได้อย่างอิสระ ซึ่งเอื้อต่อการพัฒนาอย่างต่อเนื่องโดยชุมชน
  • การติดตั้งและการใช้งานค่อนข้างง่าย และยังมีแนวทางแก้ปัญหาความเข้ากันได้กับฟีเจอร์ด้านความปลอดภัยอย่าง Secure Boot ของ Windows ทำให้ผู้ใช้ยังคงรักษาความปลอดภัยไว้ได้พร้อมกับใช้งานฟังก์ชันต่าง ๆ
  • อย่างไรก็ตาม ไดรเวอร์นี้ยังอยู่ระหว่างการพัฒนา และได้ระบุไว้ว่าผู้ใช้ควรใช้มาตรการความปลอดภัย เช่น การสำรองข้อมูล เพื่อปกป้องข้อมูลของตน ซึ่งบ่งชี้ว่าซอฟต์แวร์อาจยังไม่เสถียรอย่างสมบูรณ์
  • แม้การใช้ระบบไฟล์ Linux บน Windows จะไม่ใช่เรื่องพบได้บ่อย แต่เครื่องมือแบบนี้อาจมีประโยชน์มากในบางกรณีการใช้งาน เช่น สำหรับผู้เชี่ยวชาญด้านการกู้คืนข้อมูล หรือผู้ใช้ระบบ dual-boot ที่ต้องการความสามารถสำคัญนี้

1 ความคิดเห็น

 
GN⁺ 2024-04-08
ความคิดเห็นจาก Hacker News
  • ผู้ใช้เคยอยากใช้ไดรเวอร์ btrfs/zfs แต่หลังจากดู GitHub issues แล้วก็ตัดสินใจไม่ใช้เพราะปัญหาต่างๆ (จอฟ้า, ระบบค้าง, การใช้งานพุ่งสูง, ข้อมูลเสียหาย) และยินดีจ่ายเงินสำหรับไดรเวอร์ที่เสถียร

  • น่าทึ่งมากที่ไดรเวอร์นี้ถูกเขียนขึ้นใหม่ทั้งหมดโดยไม่ใช้โค้ดจาก Linux และยังใช้งานได้บน XP/2k3 และ ReactOS ผู้ใช้อยากลองไดรเวอร์นี้กับเครื่องเก่าของตัวเอง

  • มีการให้ลิงก์ที่เกี่ยวข้อง: การพูดคุยเกี่ยวกับ WinBtrfs – ไดรเวอร์ Windows สำหรับ Btrfs ซึ่งเป็นไฟล์ซิสเต็ม Linux ยุคถัดไป (กันยายน 2017, 100 ความคิดเห็น) และการพูดคุยเกี่ยวกับ WinBtrfs v0.7 (ตุลาคม 2016, 1 ความคิดเห็น)

  • ผู้ใช้พยายามใช้ไดรเวอร์นี้กับฮาร์ดไดรฟ์ btrfs เมื่อไม่กี่สัปดาห์ก่อน แต่ใช้งานไม่ได้ การเข้าถึงผ่าน WSL สำเร็จอยู่สองสามครั้งแต่สุดท้ายก็ล้มเหลว ตอนนี้เลยใช้วิธีบูต Linux live ISO แล้วคัดลอก/ย้ายไฟล์ระหว่างไดรฟ์ Windows กับไดรฟ์ btrfs

  • แนะนำให้อ่าน README ทั้งหมด เพราะผู้เขียนตอบคำถามไว้มากมาย

  • มีการตั้งข้อสงสัยว่าไดรเวอร์นี้ระบุว่ารองรับ RAID 5/6 แบบ "basic และ advanced" ทั้งที่ตัว BTRFS เองยังไม่รองรับ

  • ผู้ใช้ทำ dual boot และใช้ไดรเวอร์เวอร์ชันเก่ามาแล้ว แม้จะมีปัญหาอยู่บ้างแต่ก็ใช้งานได้ เพราะไม่ได้บูตเข้า Windows บ่อยจึงโอเคสำหรับตัวเอง แต่ก็อาจไม่เหมาะกับทุกคน และหวังว่าเวอร์ชันใหม่จะทำงานได้โดยมีปัญหาน้อยลง

  • อยากฟังความเห็นจากคนที่มีประสบการณ์ใช้งานจริงว่าไดรเวอร์นี้ทำงานอย่างไรในระยะยาวหรือในสภาพแวดล้อม production รวมถึงถามว่ารองรับ TRIM หรือไม่ และรองรับ RETRIM (ฟีเจอร์ที่ปลดปล่อยพื้นที่ที่ยังไม่ได้ถูก TRIM ในความพยายามครั้งแรก) ตอนทำ drive optimization หรือไม่ อีกทั้งยังถามด้วยว่าไดรเวอร์นี้จะเป็นทางเลือกแทน NTFS สำหรับคนที่ไม่ชอบ ReFS โดยให้ data parity ได้หรือไม่ และมีความ mature แค่ไหนเมื่อเทียบกับ ZFS on Windows

  • สงสัยว่าทำไมถึงยังใช้ฮาร์ดแวร์ RAID กันอยู่ ทั้งที่มี BTRFS และ ZFS แล้ว

  • มีคำถามว่าถ้าใช้ไดรเวอร์นี้ จะสามารถบูต Windows 10 และ 11 จาก USB stick ที่ฟอร์แมตเป็น btrfs ได้หรือไม่