การจัดเรียงข้อมูลพาร์ติชัน NTFS จาก Linux


คำตอบ:


12

ใช่คุณสามารถใช้การสั่นไหว คุณจะต้องเพิ่มที่เก็บที่กำหนดเองในระบบของคุณก่อน:

sudo add-apt-repository ppa:un-brice/ppa
sudo apt-get update
sudo apt-get install shake-fs

จากนั้นคุณสามารถทำได้

sudo shake /some/dir

10
Shake ไม่ใช่ตัวจัดเรียงข้อมูล แต่เพียงคัดลอกแต่ละไฟล์ด้วยความหวังว่าสำเนาจะมีการแยกส่วนน้อย แน่นอนว่ามันยังห่างไกลจากการทำงานของตัวจัดเรียงข้อมูลจริง
rustyx

9

ไม่มีเครื่องมือเช่นนั้นสำหรับสิ่งที่ฉันรู้

บางเว็บไซต์รายงานคำสั่งต่อไปนี้

# WARNING - does not work
fsck -t ntfs --kerneldefrag /dev/hdX

แต่มันใช้งานไม่ได้และไม่ชัดเจนว่าจะเอาไปที่ไหน


7
-1 ทำไมต้องเพิ่มคำตอบเมื่อมันไม่มีประโยชน์อะไรเลย?
Wolfer

1
@Wolfer มันดีดังนั้นเมื่อเราพบที่อื่นเรารู้ว่ามันใช้งานไม่ได้
krispy

6

อัปเดต: UltraDefrag สำหรับ Linux:

UltraDefrag เป็นเครื่องมือการจัดระเบียบ Open Source ที่ทรงพลังสำหรับแพลตฟอร์ม Windows มันสามารถจัดเรียงข้อมูลไฟล์ระบบรวมถึงกลุ่มรีจิสทรีและไฟล์เพจจิ้ง หนึ่งในเป้าหมายหลักของ UltraDefrag ก็คือการทำงานให้รวดเร็วและเชื่อถือได้มากที่สุด มันถูกพอร์ตไปยัง Linux และ NTFS-3G สำหรับการจัดเรียงข้อมูลพาร์ติชัน NTFS ขณะนี้มีเฉพาะรุ่นทดสอบในโหมดคอนโซลเท่านั้น โปรดอ่านไฟล์ที่รวมอยู่ใน README.linux สำหรับการรวบรวมและการทดสอบ

http://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html

[ฉันยังไม่ได้ใช้สิ่งนี้ด้วยตัวเอง พบมันผ่านกระทู้ในฟอรั่ม Arch ต่อไปนี้ด้ายผ่านไปยังหน้าถัดไปนำไปสู่เพิ่มเติมในหัวข้อ ลองรับความเสี่ยงของคุณเอง - kevjonesin—]


1

นี่เป็นคำเตือนที่ยิ่งใหญ่สำหรับทุกคนที่คิดว่า NFTS สามารถจัดระเบียบบน Linux เพียงแค่คัดลอกไฟล์ (การโคลนไฟล์เท่านั้น) และอื่น ๆ :

  • NTFS บางตัว (ไฟล์ / โฟลเดอร์) อาจมีแอททริบิวพิเศษที่ใช้งานอยู่เรียกว่าการบีบอัด NTFS

จากสิ่งที่ฉันรู้ทุกครั้งที่ลินุกซ์ (cp, fsarchiver ฯลฯ ) เขียนไฟล์ / โฟลเดอร์บน NTFS มันมักจะเขียนมันโดยไม่ต้องบีบอัด NTFS ไม่ว่าไฟล์ / โฟลเดอร์จะบีบอัดหรือปิด

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

ข้อมูลบางประเภทสามารถเข้าถึงอัตราส่วนการบีบอัด NTFS มากกว่า 3 ดังนั้นคุณสามารถมีพาร์ติชัน X GiB ที่มีไฟล์จำนวนมากและผลรวมของไฟล์มีขนาดใกล้เคียง 3 * X

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

ด้วยข้อมูลที่พิเศษมาก (อัตราส่วน NTFS มากกว่า 5) ฉันถึงสถานการณ์นี้:

  • ขนาดพาร์ติชัน NTFS ของ X GiB
  • ไฟล์ที่เก็บโคลน (ด้วยการบีบอัดที่ดีที่สุดที่เครื่องมืออนุญาตให้ GZip ฉันคิด) เอา 2 * X GiB

โอ้ใช่โคลนถูกบีบอัดและใช้ขนาดพาร์ติชันนั้นเป็นสองเท่า

สาเหตุเกิดขึ้นเนื่องจากเครื่องมือโคลนอ่านไฟล์ในแบบธรรมดา (แบบชัดใสไม่บีบอัด) จากนั้นบีบอัดข้อมูล (ด้วยอัตราส่วนที่แย่ที่สุดกว่า NTFS)

แน่นอนว่าการกู้คืนข้อมูลจะไม่พอดีกับพาร์ติชันนั้นเนื่องจากข้อมูลที่กู้คืนจะถูก putted โดยไม่มีการบีบอัด NTFS

หวังว่าจะชัดเจนอีกเหตุผลหนึ่งทำไมไม่ใช้การบีบอัด NFTS ผมไม่เคยใช้การบีบอัดแบบ NTFS มาก่อนเลย ไฟล์ VDI (Virtual Box) ให้อัตราส่วนที่ดีมาก

ตอนนี้ฉันได้ค้นพบไฟล์พิสโมเมาท์ (และมันยังใช้งานได้บน Linux) มันสามารถสร้างไฟล์ที่ทำหน้าที่เป็นที่เก็บ (เป็นโฟลเดอร์) และสามารถบีบอัด (ด้วยอัตราส่วนที่ดีกว่า NFTS) และในเวลาเดียวกันเข้ารหัส

ทำไมฉันถึงพูดถึงมัน เนื่องจากเครื่องมือโคลนใด ๆ จะเห็นที่เก็บเช่นไฟล์ (เมื่อไม่ได้เมานท์เป็นโฟลเดอร์) และอ่าน / ถ่ายโอนข้อมูล / สำรองข้อมูลกระแสข้อมูลที่บีบอัดไม่ใช่ข้อมูลที่ไม่มีการบีบอัดแบบธรรมดา (เช่นเดียวกับการบีบอัด NTFS) ดังนั้นการกู้คืนจะเหมือนกับไฟล์อื่น ๆ

แทนที่จะบีบอัดโฟลเดอร์ NTFS ด้วยแอตทริบิวต์การบีบอัดของ NTFS ฉันวางไฟล์ Pismo เสมือนโฟลเดอร์ Mount รับการบีบอัดที่ดีขึ้น ฯลฯ

ฉันต้องเตือนทุกคนที่สนใจเครื่องมือฟรีเช่นนี้ มันไม่มีการย่อขนาด (อย่างน้อย) ดังนั้นหากเนื้อหาของโฟลเดอร์เปลี่ยนแปลงไปมากมันไม่ใช่ความคิดที่ดี

แต่สำหรับดิสก์เสมือนที่ไม่เปลี่ยนแปลง ISO และสิ่งต่าง ๆ ที่จะไม่เปลี่ยนแปลงอัตราส่วนที่ได้รับนั้นใกล้เคียงกับ LZMA2 (7-Zip) มากและสามารถอ่าน / เขียนได้ทันที

และมันก็เป็นแพลตฟอร์มข้าม

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

  1. ตำแหน่งเริ่มเขียนถูกคำนวณล่วงหน้าเป็น 64K * N โดยที่ N คือจำนวนชิ้น 64K ที่จะถูกบีบอัด
  2. มีการจองบัฟเฟอร์สำหรับ 64K
  3. บัฟเฟอร์นั้นเต็มไปด้วย 64K แล้วบีบอัด
  4. เขียนบล็อก 4K ที่จำเป็นเท่านั้นส่วนที่เหลือจะให้เป็นพื้นที่ว่าง

ดังนั้นมันจะสร้าง GAPs จำนวนมากที่อยู่ตรงกลางของไฟล์และหลังจากการจัดระเบียบไฟล์ที่ GAPs หายไป แต่การจัดเรียงข้อมูลนั้นจะไม่เกิดขึ้นจนกว่าผู้ใช้จะสั่งซื้อ (contig.exe, defrag.exe ฯลฯ )

ใช่มันเขียนก้อน N'th 64K บนตำแหน่งหลาย ๆ 64K ไม่ว่าข้อมูลก่อนหน้าจะถูกบีบอัดหรือไม่ก็จะปล่อยให้ Gap อยู่ระหว่างก้อน 64K แต่ละอัน (ถ้าบีบอัดได้ทั้งหมด)

การบีบอัดโฟลเดอร์ Pismo File Mount เสมือนทำหน้าที่เหมือนการบีบอัดปกติใด ๆ ที่ควรจะทำโหมด piped ดังนั้นจึงไม่มีช่องว่าง อย่างน้อยก็จนกว่าคุณจะลบบางสิ่ง

อีกคำเตือนอย่าวางไฟล์ VHD / VHDX ไว้ข้างใน Windows จะไม่สามารถแนบได้! Windows ใช้เคล็ดลับเคอร์เนลเพื่อติดตั้งสิ่งต่าง ๆ มันไม่ได้ใช้ระดับระบบไฟล์ทำงานในระดับต่ำ

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

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


0

ไม่ใช่นี่คือระบบไฟล์ของ Windows ดังนั้นคุณจะต้องใช้ Windows เพื่อจัดเรียงข้อมูล


Wine ไม่มีแอพ Defrag สำหรับ Windows มาตรฐานใช่หรือไม่ ???
Juan

2
@Juan ไม่นั่นเป็นส่วนหนึ่งของ Windows WINE อนุญาตให้เรียกใช้แอปพลิเคชันของบุคคลที่สามที่เขียนขึ้นสำหรับ Windows นอกจากนี้ยังใช้ประโยชน์จาก ioctls เฉพาะระบบไฟล์ไดรเวอร์ของ windows ที่ไม่สามารถใช้งานได้บน linux
psusi

0

มีกลโกงหากินที่รู้จักกันดีเพื่อเก็บการจัดเรียงข้อมูลแบบ NTFS (รวมถึงพื้นที่ว่าง) ... สามารถทำได้ด้วย Live Linux เช่น SystemRescueCD ...

แต่คุณต้องมี HDD ตัวที่สองหรือพื้นที่ว่างอย่างน้อย 51% (ซึ่งหากไม่ใช้การบีบอัด)

เคล็ดลับ (หากินมาก) คือการใช้เครื่องมือเพื่อ "โคลน" พาร์ติชัน แต่ไม่ใช่เครื่องมือทั่วไป ... มีเครื่องมือที่สามารถ "โคลน" พาร์ทิชัน NTFS ได้ แต่ไม่ได้ทำการ "โคลน" ที่แน่นอน ... ให้ฉันอธิบาย ...

เครื่องมือนี้เป็น fsarchive (ถ้าฉันจำไม่ได้)

มันทำให้ไฟล์มีขนาดใหญ่มาก (ตามที่โคลนทำเครื่องมือ), กับไฟล์ทั้งหมด (ระวังเมตาดาต้าพิเศษของ NTFS ของไฟล์, ลำธารที่ฉันคิดว่าพวกเขาเรียก), เช่นเดียวกับเครื่องมือ "โคลน" ...

แต่ส่วนที่ยุ่งยากมาเมื่อทำการกู้คืน ... มันไม่ได้ใส่ไฟล์ในตำแหน่งที่มันวางไฟล์โดยไม่มีการแยกส่วนใด ๆ เลย

ฉันใช้มันสำหรับพาร์ติชันระบบ Windows รวมถึงพาร์ทิชันข้อมูล NTFS ... ด้วยความสำเร็จ ... ไม่ใช่เรื่องง่ายต่อการใช้งาน / ทำความเข้าใจ (อ่านเอกสารด้วยความใส่ใจ) ... แต่สามารถทำเคล็ดลับได้

โปรดจำไว้ว่า ... ไฟล์ขนาดใหญ่ที่สร้างขึ้นสามารถบีบอัดได้ดังนั้นจึงไม่จำเป็นต้องมีฟรี 51%

แต่อย่างใดก่อนอื่นคุณต้องลดขนาดพาร์ติชัน NTFS ... ใช้ GParted (ถ้าฉันจำไม่ได้)

ดังนั้นขั้นตอน:

  1. กรณีที่เลวร้ายที่สุด: HDD มีพาร์ติชัน BIG NTFS เดียวเท่านั้นซึ่งมีพื้นที่ว่างเพียงพอ
  2. Boot SystemRescuCD (หากคุณต้องการเริ่ม X windows ด้วยคำสั่ง wizard)
  3. ใช้ GParted เพื่อลดขนาดพาร์ติชัน NTFS ให้เล็กสุด (จะแยกส่วนไฟล์ NTFS มากขึ้นไม่ว่า)
  4. ใช้ GParted เพื่อสร้างพาร์ติชันอื่นบนพื้นที่ว่างดีกว่าถ้าประเภท ext4 (เจอร์นัล)
  5. เมานต์พาร์ติชันใหม่เช่นนี้ แต่อย่าเมาต์ NTFS
  6. ใช้ fsarchiver เพื่อสร้าง "โคลน" ของพาร์ติชัน NTFS ใช้การบีบอัดและเก็บไฟล์ bif บนพาร์ติชันที่สร้างขึ้น
  7. นับจากนี้ไปจะมีความเสี่ยงสูง: ใช้ GParted เพื่อลบพาร์ติชัน NTFS และสร้างใหม่อีกครั้ง
  8. กู้คืน "โคลน" โดยใช้ fsarchiver ไฟล์ทั้งหมดในพาร์ติชั่น NTFS จะเป็น 1 ส่วน (ยกเว้นหนึ่งหรือสองเพราะ $ MFT สามารถวางบนกลางไม่ใช่ที่ strat หรือจุดสิ้นสุดของพาร์ติชัน)
  9. ใช้ Gparted เพื่อลดขนาดพาร์ติชัน NTFS หากจำเป็น
  10. ตรวจสอบว่า NFTS ถูกต้องสามารถติดตั้งอ่าน / เขียนและถอดออกได้
  11. ถอนติดตั้งพาร์ติชัน ext4 ที่เพิ่งสร้างใหม่
  12. ใช้ Gparted เพื่อขยาย ext4 (หรือดีกว่าลบออกแล้วสร้างใหม่)

นั่นแหล่ะคน ... อย่างที่ข้าพูดว่ามีความเสี่ยงและอันตรายมาก

ระวังประเด็นสำคัญ:

  • NFTS ย่อขนาดพื้นที่ว่างให้เพียงพอเพื่อเก็บอิมเมจที่ถูกบีบอัดของพาร์ติชัน NTFS (51% บน HDD จะทำให้แน่ใจว่ามีเพียงพอ)
  • fsarchiver ไม่บันทึกสตรีม NTFS หรือไม่
  • การเรียกคืน fsarchiver อย่าวางไฟล์ในที่ที่มันวางไว้โดยไม่มีการแยกส่วน (เช่นสำเนา)
  • หลังจากลบและสร้างพาร์ติชัน NTFS ขึ้นมาใหม่จะไม่มีทางย้อนกลับ

ขั้นตอนสำหรับ: ใช้ลินุกซ์ LiveCD / LiveUSB เพื่อจัดเรียงข้อมูลพาร์ติชัน NTFS ที่ใช้ดิสก์ 100% โดยไม่มี HDD อื่นเชื่อมต่อกับพีซีดังกล่าว [ต้องมีพื้นที่ว่างเพียงพอ]

สำคัญ:

  • บางคนอาจคิดว่าถ้าคุณมี HDD 51% ที่ว่างหลังจากที่ NTFS ย่อขนาดมันอาจจะปลอดภัยกว่าเพียงแค่สร้าง ext4 นั้นและคัดลอก NTFS ทั้งหมดไปที่มันจากนั้นลบ NTFS สร้างใหม่และคัดลอกกลับไป ... เช่นสิทธิ์การใช้งานความปลอดภัยของ NTFS เป็นต้น

ตราบใดที่ฉันรู้ว่า GParted / fsarchiver เป็นวิธีการแก้ปัญหาที่ใกล้ที่สุด (สำหรับการใช้งานเฉพาะ LiveCD / LiveUSB กับ Linux) ไม่รวดเร็วมีความเสี่ยง แต่ก็เป็นไปตามเงื่อนไขที่กำหนดโดยผู้โพสต์คำถาม

ระวังตัว: มันมีความเสี่ยงมาก ... เช่นเดียวกับเครื่องมือ "โคลน" ... และสำหรับตอนนี้ฉันไม่รู้จักวิธีที่ดีที่สุดอื่น ๆ ... และมันจะปล่อยกระแสข้อมูล NTFS ให้หลวม (ถ้าฉันจำไม่ได้)

โปรดอ่านเอกสาร fsarchiver ด้วยความระมัดระวังก่อนที่จะใช้

ฉันมีความรับผิดชอบใด ๆ (ฉันใช้มันกับข้อมูลของตัวเอง แต่ allways ฉันมีการสำรองข้อมูลภายนอก - ส่วนที่ดี)

ในทางปฏิบัติ ... ข้อมูลทั้งหมดที่ฉันมีฉันวางไว้อย่างน้อยสามสื่อที่แตกต่างกัน (HDD, DVD, แฟลชความทรงจำ), อย่างน้อยสามสำเนาในแต่ละสื่อดังนั้นฉันมี 9 สำเนา ... ถ้าฉันหลวม 8 ของ พวกมันเหลืออีกหนึ่งเพื่อกู้คืนข้อมูล ... ฉันหวาดระแวงเล็กน้อยฉันเป็นเจ้าของ


ฉันจะไม่แนะนำวิธีนี้เช่นเดียวกับที่คุณพูดมันมีความเสี่ยงมากและมักจะไม่คุ้มค่าเพราะการจัดเรียงข้อมูล ควรใช้ระบบ Windows live เพื่อทำงานดังกล่าว (หรือระบบ Windows ดั้งเดิม - ดีกว่าทำไม)
ผู้บัญชาการ Byte

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