WinBTRFS เป็นไดรเวอร์ Windows สำหรับระบบไฟล์ Linux รุ่นต่อไป BTRFS การปรับปรุงใหม่จากศูนย์ไม่มีรหัสจากเคอร์เนล Linux และควรทำงานกับเวอร์ชันใดก็ได้ตั้งแต่ Windows XP เป็นต้นไป นอกจากนี้ยังรวมเป็นส่วนหนึ่งของระบบปฏิบัติการฟรี
หากระบบไฟล์ BTRFS ของคุณอยู่ในอุปกรณ์ RAID ซอฟต์แวร์ MD ที่สร้างขึ้นโดย Linux คุณจะต้องใช้ WinMD เพื่อให้ปรากฏภายใต้ Windows
ดูเพิ่มเติมที่ Quibble, bootloader ทดลองช่วยให้ windows สามารถบูตจาก BTRFs และ NTFS2BTRFS เครื่องมือที่ช่วยให้การแปลงระบบไฟล์ NTFS
ก่อนอื่นข้อจำกัดความรับผิดชอบ:
คุณใช้ซอฟต์แวร์นี้ด้วยความเสี่ยงของคุณเอง ฉันไม่รับผิดชอบต่อความเสียหายใด ๆ ที่อาจเกิดขึ้นกับระบบไฟล์ของคุณ มันควรจะเหมาะสำหรับการใช้งานประจำวัน แต่ให้แน่ใจว่าคุณได้รับการสำรองข้อมูลอยู่ดี
ทุกอย่างที่นี่ได้รับการปล่อยตัวภายใต้ใบอนุญาตสาธารณะ GNU Lesser ทั่วไป (LGPL); ดูใบอนุญาตไฟล์สำหรับข้อมูลเพิ่มเติม คุณได้รับการสนับสนุนให้เล่นกับซอร์สโค้ดตามที่คุณต้องการและฉันขอขอบคุณโน้ต ([email protected]) หากคุณคิดอะไรที่ดี
ดูที่ส่วนท้ายของเอกสารนี้สำหรับรายละเอียดลิขสิทธิ์ของรหัสบุคคลที่สามที่รวมอยู่ที่นี่
mkbtrfs.exe และ ubtrfs.dllfree_space_cache )ในการติดตั้งไดรเวอร์ดาวน์โหลดและแยกรุ่นล่าสุดคลิกขวา BTRFS.INF และเลือกติดตั้ง ไดรเวอร์ได้รับการลงนามดังนั้นควรทำงานนอกกรอบบน Windows รุ่นที่ทันสมัย
หากคุณใช้ Windows 10 หรือ 11 และเปิดใช้งานการบูตที่ปลอดภัยคุณอาจต้องทำการเปลี่ยนแปลงรีจิสทรีเพื่อให้ไดรเวอร์โหลด - ดูด้านล่าง มันง่ายกว่าที่จะปิดการบูตที่ปลอดภัยใน BIOS ของคุณเว้นแต่คุณจะมีความต้องการเป็นพิเศษ โปรดจำไว้ว่าการติดตั้งแบบซอฟต์แบบซอฟต์ Windows 11 ที่ปลอดภัยจะได้รับการติดตั้ง แต่จะทำงานได้ดีหลังจากนั้นปิด
WinBTRFS ยังมีอยู่ในผู้จัดการแพ็คเกจต่อไปนี้:
choco install winbtrfs
scoop bucket add nonportable
scoop install winbtrfs-np -g
หากคุณต้องการถอนการติดตั้งจากการรันพรอมต์คำสั่ง:
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultUninstall 132 btrfs.inf
คุณอาจต้องให้เส้นทางเต็มรูปแบบไปยัง btrfs.inf
นอกจากนี้คุณยังสามารถไปที่ Device Manager ค้นหา "BTRFS Controller" ภายใต้ "Volumes Storage" คลิกขวาและเลือก "ถอนการติดตั้ง" ทำเครื่องหมายในช่องเพื่อถอนการติดตั้งไดรเวอร์ด้วยและปล่อยให้ Windows รีบูตตัวเอง
หากคุณต้องการถอนการติดตั้งผ่านรีจิสทรีให้เปิด regedit และตั้งค่าของ HKLM System CurrentControlset Services Btrfs เริ่มเป็น 4 เพื่อปิดใช้งานบริการ หลังจากที่คุณรีบูตคุณสามารถลบคีย์ BTRFS และลบ C: Windows System32 Driver Btrfs.sys
ในการรวบรวมด้วย Visual C ++ 2019 ให้เปิดไดเรกทอรีและปล่อยให้ CMake ทำสิ่งนั้น หากคุณติดตั้ง Windows DDK อย่างถูกต้องควรใช้งานได้
ในการรวบรวมด้วย GCC บน Linux คุณจะต้องมีการตั้งค่า cross-compiler สำหรับ i686-w64-mingw32 หรือ x86_64-w64-mingw32 สร้างไดเรกทอรีบิลด์จากนั้นใช้ mingw-x86.cmake หรือ mingw-amd64.cmake เป็นไฟล์ CMAKE Toolchain เพื่อสร้าง MakeFile ของคุณ
การแมปผู้ใช้จะถูกเก็บไว้ในคีย์รีจิสทรี HKLM System CurrentControlset Services Btrfs Mappings สร้าง DWORD ด้วยชื่อ Windows SID ของคุณ (เช่น S-1-5-21-1379886684-2432464051-424789967-1001) และค่าของ Linux UID ของคุณ (เช่น 1000) จะมีผลในครั้งต่อไปที่ไดรเวอร์จะถูกโหลด
คุณสามารถค้นหา SID ปัจจุบันของคุณได้โดยใช้ wmic useraccount get name,sid
ในทำนองเดียวกันการแมปกลุ่มจะถูกเก็บไว้ภายใต้กลุ่ม รายการเริ่มต้นแผนที่กลุ่มผู้ใช้ของ Windows เป็น GID 100 ซึ่งโดยปกติจะเป็น "ผู้ใช้" บน Linux นอกจากนี้คุณยังสามารถระบุ SID ของผู้ใช้ที่นี่เพื่อบังคับให้ไฟล์ที่สร้างโดยผู้ใช้ให้เป็นของกลุ่มหนึ่ง ธง setGid ยังทำงานเป็น Linux
โปรดทราบว่าประมวลผลการทำงานภายใต้โทเค็นควบคุมการเข้าถึงผู้ใช้สร้างไฟล์เป็น Builtin Administrators SID (S-1-5-32-544) แทนที่จะเป็นบัญชีผู้ใช้
ไดรเวอร์จะผ่านเมตาดาต้า Linux ไปยัง LXSS รุ่นล่าสุด แต่คุณจะต้องแจ้งให้ Windows รู้ว่าคุณต้องการทำสิ่งนี้ จากพรอมต์ทุบตีบน Windows, แก้ไข /etc/wsl.conf เพื่อให้มีลักษณะดังต่อไปนี้:
[automount]
enabled = true
options = "metadata"
mountFsTab = false
จากนั้นจะมีผลในครั้งต่อไปที่คุณรีบูต ใช่คุณควรจะสามารถใช้การติดตั้ง Linux จริงได้หากต้องการ
ไฟล์ dll shellbtrfs.dll ให้อินเทอร์เฟซ GUI แต่ยังสามารถใช้กับ rundll32.exe เพื่อดำเนินงานบางอย่างจากบรรทัดคำสั่งซึ่งอาจมีประโยชน์หากคุณต้องการกำหนดเวลาให้ทำงานเป็นระยะ
โปรดจำไว้ว่า Rundll32 ไม่มีกลไกในการส่งคืนรหัสข้อผิดพลาดใด ๆ ดังนั้นคำสั่งใด ๆ เหล่านี้อาจล้มเหลวอย่างเงียบ ๆ
rundll32.exe shellbtrfs.dll,CreateSubvol <path>
rundll32.exe shellbtrfs.dll,CreateSnapshot <source> <destination>
rundll32.exe shellbtrfs.dll,ReflinkCopy <source> <destination> สิ่งนี้ยังยอมรับไวด์การ์ดและไฟล์แหล่งที่มาจำนวนมาก
คำสั่งต่อไปนี้ต้องการสิทธิ์ต่าง ๆ และต้องเรียกใช้เป็นผู้ดูแลระบบเพื่อทำงาน:
rundll32.exe shellbtrfs.dll,SendSubvol <source> [-p <parent>] [-c <clone subvol>] <stream file> ค่าสถานะ -p และ -c เป็น btrfs send บน Linux คุณสามารถระบุจำนวนย่อยของโคลน
rundll32.exe shellbtrfs.dll,RecvSubvol <stream file> <destination>
rundll32.exe shellbtrfs.dll,StartScrub <drive>
rundll32.exe shellbtrfs.dll,StopScrub <drive>
ในหน้ารีลีสมีไฟล์ zip ให้ดาวน์โหลดที่มี PDB หรือคุณสามารถลองใช้ Symbols Server http://symbols.burntcomma.com/ - ใน Windbg ตั้งค่าเส้นทางสัญลักษณ์ของคุณเป็นสิ่งนี้:
symsrv*symsrv.dll*C:symbols*http://msdl.microsoft.com/download/symbols;symsrv*symsrv.dll*C:symbols*http://symbols.burntcomma.com
ไดรเวอร์ถือว่าชื่อไฟล์ทั้งหมดถูกเข้ารหัสใน UTF-8 นี่ควรเป็นค่าเริ่มต้นในการตั้งค่าส่วนใหญ่ในปัจจุบัน - หากคุณไม่ได้ใช้ UTF -8 มันอาจจะคุ้มค่าที่จะดูการแปลงไฟล์ของคุณ
สำหรับ Windows 10 รุ่นต่อมา Microsoft ได้แนะนำข้อกำหนดที่ยากขึ้นสำหรับการลงนามซึ่งดูเหมือนจะไม่สามารถใช้ได้สำหรับไดรเวอร์โอเพนซอร์ซ
หากต้องการแก้ไขปัญหานี้ให้ไปที่ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCIPolicy ใน Regedit สร้างค่า DWORD ใหม่ที่เรียกว่า UpgradedSystem และตั้งค่าเป็น 1 และรีบูต
หรือคุณอาจปิดการบูตที่ปลอดภัยในการตั้งค่า BIOS ของคุณ
นี่คือสิ่งที่ Microsoft Hardcoded เป็น LXSS สันนิษฐานว่าจะหยุดคนที่ซ่อนระบบของพวกเขาโดยใช้ mkdir /mnt/c/WiNdOwS
เมื่อติดตั้งส่วนขยายเชลล์คลิกขวาที่ไดรฟ์ใน Explorer คลิกคุณสมบัติและไปที่แท็บ BTRFS ควรมีปุ่มที่ช่วยให้คุณเปลี่ยนจดหมายไดรฟ์
ใน Regedit ให้ลองลบรายการที่เกี่ยวข้องใน HKEY_LOCAL_MACHINESYSTEMMountedDevices จากนั้นรีบูต
ใช้โปรแกรมบรรทัดคำสั่งที่รวมอยู่ mkbtrfs.exe เราไม่สามารถเพิ่ม BTRFs ลงในกล่องโต้ตอบของ Windows ได้ แต่น่าเสียดายที่รายการของระบบไฟล์ได้รับการเข้ารหัส นอกจากนี้คุณยังสามารถเรียกใช้ format /fs:btrfs หากคุณไม่จำเป็นต้องตั้งค่าตัวเลือกเฉพาะ BTRFS ใด ๆ
หากกล่องโต้ตอบรูปแบบของ Windows ปฏิเสธที่จะปรากฏขึ้นให้ลองรัน Format.com ด้วยการตั้งค่าสถานะ /FS เช่น format /fs:ntfs D:
Synology ดูเหมือนจะใช้ LVM สำหรับอุปกรณ์บล็อก จนกว่าจะมีใครบางคนเขียนไดรเวอร์ LVM สำหรับ Windows คุณจะโชคไม่ดี
TheCus ใช้ MD Raid ของ Linux สำหรับอุปกรณ์บล็อก คุณจะต้องติดตั้ง WinMD เช่นกัน
ตรวจสอบให้แน่ใจว่าคุณติดตั้ง KB3033929 แล้ว หรือพิจารณาการติดตั้งจาก ISO "escrow" ซึ่งรวมถึงการอัปเดตทั้งหมด
ซอฟต์แวร์การอ่านระบบไฟล์ของ Paragon เป็นที่รู้จักกันในการปิดใช้งาน Automount ปิดการใช้งานหรือถอนการติดตั้งพารากอนจากนั้นเปิดใช้งานอัตโนมัติอีกครั้งโดยเรียกใช้ diskpart และ automount enable
ใน Windows รุ่นเก่ามาก (XP, Server 2003?) Windows จะละเว้นพาร์ติชัน Linux ทั้งหมด หากเป็นกรณีนี้ให้คุณลองใช้ fdisk บน Linux และเปลี่ยนประเภทพาร์ติชันของคุณจาก 83 เป็น 7
ไม่มีการทำแผนที่ระหว่าง Windows และ Posix Permission Models พวกเขาแตกต่างกันมากเกินไปสำหรับสิ่งนี้ที่จะใช้งานได้จริง หากสิ่งนี้รบกวนคุณคุณสามารถสร้าง Windows ACL บนไฟล์ที่คุณไม่ต้องการแก้ไข
v1.9 (2024-03-15):
v1.8.2 (2023-01-10):
v1.8.1 (2022-08-23):
v1.8 (2022-03-12):
v1.7.9 (2021-10-02):
v1.7.8.1 (2021-06-13):
v1.7.8 (2021-06-09):
inode_cachev1.7.7 (2021-04-12):
v1.7.6 (2021-01-14):
v1.7.5 (2020-10-31):
v1.7.4 (2020-08-23):
v1.7.3 (2020-05-24):
v1.7.2 (2020-04-10):
v1.7.1 (2020-03-02):
v1.7 (2020-02-26):
case=dirv1.6 (2020-02-04):
v1.5 (2019-11-10):
v1.4 (2019-08-31):
v1.3 (2019-06-10):
v1.2.1 (2019-05-06):
v1.2 (2019-05-05):
v1.1 (2018-12-15):
v1.0.2 (2018-05-19):
v1.0.1 (2017-10-15):
v1.0 (2017-09-04):
free_space_cache )v0.10 (2017-05-02):
btrfs checkv0.9 (2017-03-05):
v0.8 (2016-12-30):
btrfs fi usagev0.7 (2016-10-24):
raid56 )v0.6 (2016-08-21):
v0.5 (2016-07-24):
v0.4 (2016-05-02):
v0.3 (2016-03-25):
btrfs checkv0.2 (2016-03-13):
CcCopyReadv0.1 (2016-02-21):
WinBTRFS มีข้อความดีบั๊กสามระดับ: ข้อผิดพลาดและการแก้ไขคำเตือนและร่องรอย เวอร์ชันรุ่นของไดรเวอร์จะแสดงข้อผิดพลาดและ FixMes เท่านั้นซึ่งจะบันทึกผ่าน DbgPrint คุณสามารถดูข้อความเหล่านี้ผ่าน Microsoft Program DebugView ซึ่งมีให้ที่ https://technet.microsoft.com/en-gb/sysinternals/debugview
หากคุณต้องการรายงานปัญหามันเป็นความช่วยเหลือที่ดีถ้าคุณสามารถแนบบันทึกการดีบักเต็มรูปแบบ ในการทำเช่นนี้คุณจะต้องใช้ไดรเวอร์เวอร์ชันดีบั๊ก คัดลอกไฟล์ใน debug x64 หรือ debug x86 ไปยัง x64 หรือ x86 คุณจะต้องตั้งค่ารายการรีจิสทรีใน hklm system currentcontrolset services btrfs:
DebugLogLevel (DWORD): 0 สำหรับไม่มีข้อความ, 1 สำหรับข้อผิดพลาดและ FIXMES, 2 สำหรับคำเตือนและ 3 สำหรับทุกอย่างอย่างแน่นอนรวมถึงร่องรอยLogDevice (สตริง, เสริม): อุปกรณ์อนุกรมที่คุณต้องการส่งออกเช่น DeviceSerial0 นี่อาจเป็นประโยชน์เฉพาะกับเครื่องเสมือนLogFile (สตริงตัวเลือก): ไฟล์ที่คุณต้องการส่งออกหากไม่ได้ตั้งค่า LogDevice โปรดจำไว้ว่านี่เป็นชื่อไฟล์เคอร์เนลดังนั้นคุณจะต้องนำหน้าด้วย " ?? " (เช่น " ?? c: btrfs.log") มันอาจจะไปโดยไม่พูด แต่อย่าเก็บสิ่งนี้ไว้ในระดับเสียงที่คนขับใช้เองหรือคุณจะทำให้ลูปไม่มีที่สิ้นสุด ไดรเวอร์จะสร้างคีย์ย่อยในรีจิสทรีภายใต้ HKLM System CurrentControlset Services BTRFS สำหรับระบบไฟล์ที่ติดตั้งแต่ละตัวซึ่งตั้งชื่อตาม UUID หากคุณไม่แน่ใจว่า UUID หมายถึงระดับเสียงใดคุณสามารถตรวจสอบโดยใช้ btrfs fi show บน Linux คุณสามารถเพิ่มตัวเลือกการติดตั้งต่อเล่มลงในคีย์ย่อยนี้ซึ่งจะมีผลในการรีบูต หากค่าถูกตั้งค่าในคีย์ด้านบนมันจะใช้สิ่งนี้โดยค่าเริ่มต้น
Ignore (DWORD): ตั้งค่าเป็น 1 เพื่อบอกไดรเวอร์ไม่ให้พยายามโหลดระบบไฟล์นี้ ด้วยธง Readonly นี่อาจซ้ำซ้อน
Readonly (DWORD): ตั้งค่าเป็น 1 เพื่อบอกไดรเวอร์ไม่อนุญาตให้เขียนถึงเล่มนี้ นี่คือเทียบเท่ากับธง ro บน Linux
Compress (DWORD): ตั้งค่าเป็น 1 เพื่อบอกให้ไดรเวอร์เขียนไฟล์ที่ถูกบีบอัดโดยค่าเริ่มต้น นี่คือเทียบเท่ากับธงบีบ compress บน Linux
CompressForce (DWORD): ตั้งค่าเป็น 1 เพื่อบังคับการบีบอัดเช่นที่จะละเว้นการตั้งค่าสถานะ nocompress Inode และแม้แต่พยายามบีบอัดไฟล์ที่ไม่สามารถบีบอัดได้ นี่ไม่ใช่ความคิดที่ดี แต่เทียบเท่ากับธงบีบ compress-force บน Linux
CompressType (DWORD): ตั้งค่าเป็น 1 เพื่อชอบการบีบอัด ZLIB, 2 เพื่อเลือกการบีบอัด LZO หรือ 3 เพื่อชอบการบีบอัด ZSTD ค่าเริ่มต้นคือ 0 ซึ่งใช้การบีบอัด ZSTD หรือ LZO หากตั้งค่าสถานะที่ไม่ได้ตั้งค่าและ zlib เป็นอย่างอื่น
FlushInterval (DWORD): ช่วงเวลาในวินาทีระหว่างข้อมูลเมตาฟลัช ค่าเริ่มต้นคือ 30 เช่นเดียวกับบน Linux - พารามิเตอร์เรียกว่า commit ที่นั่น
ZlibLevel (DWORD): ตัวเลขระหว่าง -1 ถึง 9 ซึ่งกำหนดระยะเวลาของ CPU ที่ใช้เวลาในการพยายามบีบอัดไฟล์ คุณอาจต้องการเล่นซอถ้าคุณมี CPU ที่รวดเร็ว แต่ดิสก์ช้าหรือในทางกลับกัน ค่าเริ่มต้นคือ 3 ซึ่งเป็นค่าฮาร์ดรหัสบน Linux
MaxInline (DWORD): ขนาดสูงสุดที่จะได้รับอนุญาตสำหรับไฟล์ "อินไลน์" นั่นคือไฟล์ที่เก็บไว้ในข้อมูลเมตา ค่าเริ่มต้นคือ 2048 ซึ่งเป็นค่าเริ่มต้นของ Linux รุ่นที่ทันสมัย - พารามิเตอร์เรียกว่า max_inline ที่นั่น มันจะถูกตัดเป็นค่าสูงสุดซึ่งถ้าคุณเปลี่ยนขนาดโหนดของคุณจะเป็นสีที่ต่ำกว่า 16 kb
SubvolId (Qword): ID ของ subvolume ที่เราจะพยายามที่จะเมานต์เป็นรูท หากไม่มีอยู่พารามิเตอร์นี้จะถูกละเว้นอย่างเงียบ ๆ ID ย่อยสามารถพบได้ในแผ่นคุณสมบัติ inode; มันอยู่ในฐานสิบหกที่ตรงข้ามกับทศนิยมของเครื่องมือ Linux ค่าเริ่มต้นคือสิ่งที่ถูกตั้งค่าผ่าน btrfs subvolume set-default ; หรือล้มเหลวว่า subvolume 5. พารามิเตอร์เทียบเท่าบน linux เรียกว่า subvolid
SkipBalance (DWORD): ตั้งค่าเป็น 1 เพื่อบอกคนขับไม่ให้พยายามกลับมาทำงานต่อยอดที่ทำงานเมื่อระบบขับเคลื่อนครั้งสุดท้าย ค่าเริ่มต้นคือ 0. พารามิเตอร์ที่เทียบเท่าบน Linux คือ skip_balance
NoPNP (DWORD): มีประโยชน์สำหรับการดีบักเท่านั้นซึ่งจะบังคับให้มีปริมาณใด ๆ ที่จะปรากฏแทนที่จะเปิดเผยผ่านวิธีการเล่นและการเล่นตามปกติ
ZstdLevel (DWORD): ระดับการบีบอัด ZSTD, ค่าเริ่มต้น 3
NoTrim (DWORD): ตั้งค่าเป็น 1 เพื่อปิดการสนับสนุนการตัดแต่ง
AllowDegraded (DWORD): ตั้งค่าเป็น 1 เพื่อให้สามารถติดตั้งปริมาตรที่เสื่อมโทรมได้เช่นหนึ่งที่มีอุปกรณ์หายไป คุณได้รับคำแนะนำอย่างยิ่งที่จะไม่เปิดใช้งานสิ่งนี้เว้นแต่คุณจะต้องการ
NoRootDir (DWORD): หากคุณได้เปลี่ยน subvolume เริ่มต้นของคุณไม่ว่าจะเป็นธรรมชาติหรือโดยตัวเลือกรีจิสทรีจะมีไดเรกทอรีที่ซ่อนอยู่ที่เรียกว่า $ root ซึ่งชี้ไปที่ที่รูทจะอยู่ที่ไหน ตั้งค่านี้เป็น 1 เพื่อป้องกันการปรากฏตัวนี้
NoDataCOW (DWORD): ตั้งค่าเป็น 1 เพื่อปิดการใช้งาน Copy-On-Write สำหรับไฟล์ใหม่ นี่คือเทียบเท่ากับธง nodatacow บน Linux
ฉันขอขอบคุณข้อเสนอแนะใด ๆ ที่คุณอาจมีบวกหรือลบ: [email protected]
รหัสนี้มีบางส่วนของซอฟต์แวร์ต่อไปนี้:
ลิขสิทธิ์ (c) 2538-2560 Jean-Loup Gailly และ Mark Adler
ซอฟต์แวร์นี้มีให้ 'เป็น' โดยไม่มีการรับประกันโดยชัดแจ้งหรือโดยนัย ไม่ว่าในกรณีใดผู้เขียนจะต้องรับผิดชอบต่อความเสียหายใด ๆ ที่เกิดขึ้นจากการใช้ซอฟต์แวร์นี้
ได้รับอนุญาตให้ทุกคนใช้ซอฟต์แวร์นี้เพื่อวัตถุประสงค์ใด ๆ รวมถึงแอปพลิเคชันเชิงพาณิชย์และเพื่อแก้ไขและแจกจ่ายซ้ำได้อย่างอิสระภายใต้ข้อ จำกัด ดังต่อไปนี้:
Winbtrfs มีบางส่วนของ LZO รุ่นแรกซึ่งเป็นลิขสิทธิ์ 1996 Markus Oberhumer รุ่นสมัยใหม่ได้รับใบอนุญาตภายใต้ GPL แต่สิ่งนี้ได้รับใบอนุญาตภายใต้ LGPL ดังนั้นฉันเชื่อว่ามันโอเคที่จะใช้
ลิขสิทธิ์ (c) 2016- ปัจจุบัน, Facebook, Inc. สงวนลิขสิทธิ์
อนุญาตให้แจกจ่ายและใช้งานในรูปแบบแหล่งที่มาและไบนารีโดยมีหรือไม่มีการแก้ไขได้รับอนุญาตหากเป็นไปตามเงื่อนไขต่อไปนี้:
การแจกจ่ายซ้ำของซอร์สโค้ดจะต้องรักษาประกาศลิขสิทธิ์ข้างต้นรายการเงื่อนไขและข้อจำกัดความรับผิดชอบต่อไปนี้
การแจกจ่ายซ้ำในรูปแบบไบนารีจะต้องทำซ้ำประกาศลิขสิทธิ์ข้างต้นรายการเงื่อนไขและข้อจำกัดความรับผิดชอบต่อไปนี้ในเอกสารและ/หรือวัสดุอื่น ๆ ที่ได้รับการแจกจ่าย
ชื่อ Facebook หรือชื่อของผู้มีส่วนร่วมอาจไม่ได้ใช้เพื่อรับรองหรือส่งเสริมผลิตภัณฑ์ที่ได้จากซอฟต์แวร์นี้โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษรล่วงหน้า
ซอฟต์แวร์นี้จัดทำโดยผู้ถือลิขสิทธิ์และผู้มีส่วนร่วม "ตามที่เป็นอยู่" และการรับประกันโดยชัดแจ้งหรือโดยนัยใด ๆ รวมถึง แต่ไม่ จำกัด เพียงการรับประกันโดยนัยของความสามารถในการค้าและความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ ไม่ว่าในกรณีใดผู้ถือลิขสิทธิ์หรือผู้มีส่วนร่วมจะต้องรับผิดชอบต่อความเสียหายทางตรงทางอ้อม, โดยบังเอิญ, พิเศษ, เป็นแบบอย่าง, หรือความเสียหายที่ตามมา (รวมถึง แต่ไม่ จำกัด เพียงการจัดหาสินค้าทดแทนหรือบริการการสูญเสียข้อมูลหรือผลกำไรหรือการหยุดชะงักของธุรกิจ แนะนำถึงความเป็นไปได้ของความเสียหายดังกล่าว
https://github.com/blake2/blake2 (โดเมนสาธารณะ)
https://github.com/amosnier/sha-2 (โดเมนสาธารณะ)