Mendefragmentasi Partisi NTFS dari Linux


Jawaban:


12

Ya, Anda bisa menggunakan shake . Pertama-tama Anda perlu menambahkan repositori khusus ke sistem Anda:

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

Maka Anda bisa melakukannya

sudo shake /some/dir

10
Shake bukan defragmenter, ia hanya menyalin setiap file dengan harapan bahwa salinannya akan kurang terfragmentasi. Itu tentu saja jauh dari cara kerja defragmenter yang sebenarnya.
rustyx

9

Tidak ada alat semacam itu di sekitar, untuk apa yang saya tahu.

Beberapa situs melaporkan perintah berikut

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

tetapi ini tidak berhasil, dan tidak jelas dari mana mereka mendapatkannya.


7
-1 Mengapa menambahkan jawaban padahal sebenarnya tidak berguna?
Wolfer

1
@Wolfer itu baik jadi ketika kita menemukannya di tempat lain kita tahu itu tidak berhasil
krispy

6

Pembaruan: UltraDefrag untuk Linux:

UltraDefrag adalah alat Defragmentasi Open Source yang kuat untuk Platform Windows. Ini dapat mendefrag file sistem apa pun termasuk kumpulan registri dan file paging. Juga salah satu tujuan utama UltraDefrag adalah melakukan pekerjaan secepat dan seandal mungkin. Itu sedang porting ke Linux dan NTFS-3G untuk defragmenting partisi NTFS. Saat ini hanya versi uji dalam mode konsol yang tersedia. Silakan baca file README.linux yang disertakan untuk kompilasi dan pengujian

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

[Saya belum pernah menggunakan ini sendiri. Menemukannya melalui utas di forum Arch . Lebih lanjut mengikuti utas sampai ke halaman berikutnya mengarah lebih pada topik. Cobalah dengan risiko Anda sendiri. — kevjonesin—]


1

Ini adalah peringatan BESAR bagi Anda yang berpikir NFTS dapat didefragmentasi di Linux hanya dengan menyalin file (hanya mengkloning file), dll:

  • Beberapa NTFS (file / folder) dapat memiliki atribut khusus yang aktif, itu disebut NTFS Compression

dari apa yang saya tahu, setiap kali Linux (cp, fsarchiver, dll) menulis file / folder pada NTFS selalu menulisnya tanpa kompresi NTFS, tidak peduli apakah file / folder memiliki kompresi aktif atau tidak aktif.

Jadi Anda bisa sampai pada suatu situasi (saya bertemu dengan cara yang sulit), di mana mengembalikan dengan fsarchive (atau cp, dll) akan membuat partisi menjadi penuh dan tidak cukup.

Beberapa jenis data dapat mencapai rasio kompresi NTFS lebih dari 3, sehingga Anda dapat memiliki partisi X GiB dengan banyak file, dan jumlah file mendekati ukuran 3 * X.

Saya memberi peringatan itu karena tidak dikenal dan terkadang membuat sakit kepala yang sangat besar. seperti ketika memulihkan klon membutuhkan lebih banyak ruang daripada seluruh partisi yang telah dikloning, disebabkan karena kompresi NTFS hilang di Linux.

Juga, dengan data yang sangat sangat khusus (rasio NTFS lebih besar dari 5) saya mencapai situasi ini:

  • Ukuran partisi NTFS dari X GiB
  • File yang memegang klon (dengan kompresi terbaik yang dibiarkan alat, GZip saya pikir) mengambil 2 * X GiB

Oh ya, klon itu dikompresi dan butuh dua kali lipat ukuran partisi.

Itu disebabkan karena alat klon membaca file dalam keadaan biasa (jelas, tidak dikompresi) kemudian kompres data (dengan rasio yang benar-benar terburuk daripada NTFS lakukan).

Tentu saja memulihkan data yang tidak sesuai pada partisi itu, karena data yang dipulihkan akan dimasukkan tanpa kompresi NTFS.

Semoga jelas alasan lain mengapa tidak menggunakan kompresi NFTS? Yah, tidak sama sekali, saya menggunakan banyak kompresi NTFS (di masa lalu). File VDI (Virtual Box) mendapatkan rasio yang sangat bagus.

Sekarang saya telah menemukan file Pismo Mount (dan itu juga berfungsi di Linux). itu dapat membuat file yang bertindak sebagai wadah (sebagai folder) dan dapat dikompresi (juga dengan rasio yang lebih baik daripada NFTS) dan pada saat yang sama dienkripsi.

Kenapa saya sebutkan itu. karena alat kloning apa pun akan melihat wadah tersebut sebagai file (saat tidak dipasang sebagai folder) dan membaca / membuang / mencadangkan aliran data terkompresi, bukan data polos yang tidak terkompresi (seperti dengan kompresi NTFS). jadi memulihkan seperti halnya dengan file lain.

Alih-alih mengompresi folder NTFS dengan atribut kompresi NTFS, saya meletakkan file Pismo Mount folder virtual. dapatkan kompresi yang lebih baik, dll.

Saya juga harus memperingatkan kalian semua yang tertarik pada alat gratis semacam itu. ia tidak menyusut (setidaknya belum), jadi jika konten folder banyak berubah, itu bukan ide yang bagus.

Tetapi untuk Virtual Disk yang tidak berubah, ISO, dan hal-hal yang tidak akan berubah, rasio yang didapatnya sangat dekat dengan LZMA2 (7-Zip) dan dapat dibaca / ditulis dengan cepat.

Dan itu adalah cross-platform.

Perhatikan orang jahat kompresi NTFS berbicara tentang fragmentasi. ketika Anda menulis file ke NTFS dengan kompresi NTFS aktif, ia melakukannya dengan cara ini (ya dirancang mengerikan, saya pikir itu dilakukan seperti itu untuk memastikan fragmentasi yang lebih besar dalam cara niat, yang terburuk tidak dapat dilakukan):

  1. Posisi tulis mulai dihitung sebelumnya sebagai 64K * N, di mana N adalah jumlah potongan 64K yang akan dicoba dikompres
  2. Buffer untuk 64K dicadangkan
  3. Buffer itu diisi dengan 64K dan kemudian dikompres
  4. Hanya 4K blok yang diperlukan yang ditulis, sisanya dibiarkan sebagai ruang kosong

Jadi itu menciptakan banyak, banyak GAP di tengah file, dan hanya setelah defragmentasi file GAP menghilang, tetapi defragmentasi itu tidak terjadi sampai pengguna memesannya (contig.exe, defrag.exe, dll).

Ya, itu menulis potongan 64K N'th pada posisi kelipatan 64K, tidak peduli apakah data sebelumnya bisa atau tidak bisa dikompresi, itu meninggalkan celah antara masing-masing potongan 64K (jika semua bisa dikompresi).

Pismo File Mount kompresi folder virtual bertindak seperti kompresi normal yang seharusnya dilakukan, mode piped, jadi tidak ada kesenjangan. setidaknya sampai Anda menghapus sesuatu.

Juga peringatan lain, jangan menaruh file VHD / VHDX di dalamnya, Windows tidak akan bisa melampirkannya! Windows menggunakan trik kernel untuk me-mount hal-hal seperti itu, tidak menggunakan level sistem file, bekerja pada level rendah.

Saya juga ingin mendapatkan defragmenter Linux NTFS, tentu akan lebih cepat dari semua yang berjalan di Windows. itu adalah kegilaan total untuk defragmentasi ruang bebas. atau lebih baik bicara. membuat keseluruhan yang cukup besar untuk file besar baru.

Juga akan lebih baik daya ingat saya bekerja lebih baik. di masa lalu saya menggunakan alat (command line, sorry) pada Windows yang dapat menyalin / memindahkan file dengan cara yang tidak terfragmentasi. memindahkan file yang dibutuhkan sambil mendapatkan yang dibutuhkan secara keseluruhan, dan tidak memecahnya. itu hanya memberikan pesan jika tidak dapat menemukan cara untuk meletakkan file (tidak mungkin mendapatkan lubang) atau peringatan yang berbeda jika perlu fragmen file lain (menanyakan apakah diotorisasi oleh pengguna), dll. benar-benar hebat. Saya tidak ingat namanya (dan mungkin itu tidak bekerja dengan windows modern, itu untuk Win2000).


0

Tidak. Ini adalah sistem file Windows sehingga Anda harus menggunakan Windows untuk mendefrag mereka.


Bukankah Wine memiliki aplikasi defrag Windows standar? ???
Juan

2
@ Guan, tidak, itu adalah bagian dari Windows. WINE hanya memungkinkan menjalankan aplikasi pihak ketiga yang ditulis untuk windows. Itu juga menggunakan windows filesystem driver khusus ioctls yang tidak tersedia di linux.
psusi

0

Ada cheat rumit yang sangat baik untuk mengarsipkan defragmentasi NTFS (termasuk ruang kosong) ... itu dapat dilakukan dengan Live Linux seperti SystemRescueCD ...

Tapi, Anda harus memiliki HDD kedua atau setidaknya ruang kosong 51% (jika tidak menggunakan kompresi).

Triknya (sangat rumit) adalah dengan menggunakan alat untuk "mengkloning" partisi, tetapi bukan yang khas ... ada alat yang dapat "mengkloning" partisi NTFS tetapi tidak melakukan "klon" yang tepat ... biarkan saya jelaskan ...

Alat ini fsarchive (jika saya tidak ingat buruk).

Itu membuat file yang sangat besar (seperti alat klon tidak), dengan semua file (waspadalah terhadap metadata file khusus NTFS, stream saya pikir mereka dipanggil), sama seperti alat "klon" tidak ...

Tetapi bagian yang sulit datang ketika mengembalikan ... itu tidak menempatkan file di mana mereka di mana, ia meletakkan file tanpa fragmentasi sama sekali.

Saya telah menggunakannya untuk partisi Sistem Windows dan juga untuk partisi data NTFS ... dengan berhasil ... tidak terlalu mudah digunakan / dimengerti (baca dengan hati-hati dokumen) ... tetapi dapat melakukan trik.

Ingat ... file besar yang dibuatnya dapat dikompresi, jadi tidak perlu memiliki 51% gratis.

Tetapi bagaimanapun juga, pertama-tama Anda harus Kecilkan partisi NTFS ... gunakan GParted (jika saya tidak ingat buruk).

Jadi langkah-langkahnya:

  1. Kasus terburuk: HDD hanya memiliki satu partisi BIG NTFS, dengan ruang kosong yang cukup
  2. Boot SystemRescuCD (jika Anda ingin menjalankan X windows dengan perintah wizard)
  3. Gunakan GParted untuk mengecilkan partisi NTFS ke ukuran minimumnya (akan memecah file NTFS lebih banyak, tidak peduli)
  4. Gunakan GParted untuk membuat partisi lain di ruang kosong, lebih baik jika tipe ext4 (jurnal)
  5. Pasang partisi baru tersebut, tetapi jangan me-mount NTFS
  6. Gunakan fsarchiver untuk membuat "clone" dari partisi NTFS, gunakan kompresi dan simpan file bif pada partisi yang dibuat
  7. Mulai sekarang ini sangat RISIKO: Gunakan GParted untuk menghapus partisi NTFS dan membuatnya kembali
  8. Pulihkan "klon" menggunakan fsarchiver, semua file pada partisi NTFS akan menjadi 1 fragmen (kecuali satu atau dua karena $ MFT dapat diletakkan di tengah, bukan pada strat atau akhir partisi)
  9. Gunakan Gparted untuk mengecilkan partisi NTFS jika perlu
  10. Periksa NFTS sudah benar, bisa dipasang, baca / tulis, dan diturunkan
  11. Lepas partisi ext4 yang baru dibuat
  12. Gunakan Gparted untuk menumbuhkan ext4 itu (atau lebih baik, hapus dan buat kembali)

Itu saja, teman-teman ... seperti yang saya katakan sangat rumit dan berisiko, tentu saja.

Waspadai Poin-Poin Utama:

  • NFTS menyusut, biarkan ruang kosong yang cukup untuk menampung gambar terkompresi dari partisi NTFS (51% gratis pada HDD akan memastikan ada cukup)
  • fsarchiver tidak menyimpan stream NTFS?
  • pemulihan fsarchiver tidak meletakkan file di mana mereka berada, itu membuat mereka tidak terfragmentasi (seperti salinan)
  • Setelah menghapus dan menciptakan kembali partisi NTFS, tidak ada jalan kembali

Langkah-langkahnya adalah: Gunakan linux LiveCD / LiveUSB untuk mendefrag partisi NTFS yang menggunakan 100% dari disk, tanpa ada HDD lain yang terhubung ke PC tersebut [harus memiliki ruang kosong yang cukup].

PENTING:

  • Beberapa orang mungkin berpikir jika Anda memiliki 51% gratis pada HDD setelah NTFS menyusut itu bisa lebih aman untuk hanya membuat ext4 itu dan menyalin semua NTFS ke dalamnya, kemudian menghapus NTFS, membuat ulang dan menyalinnya kembali ... MELAKUKAN ITU akan menyebabkan kehilangan, seperti izin keamanan NTFS, dll

Selama saya tahu GParted / fsarchiver adalah solusi paling dekat (untuk hanya menggunakan LiveCD / LiveUSB dengan Linux), tidak cepat, entah bagaimana berisiko, tetapi persyaratan yang memuaskan dipaksakan oleh orang yang memposting pertanyaan.

HATI-HATI: Ini sangat, sangat berisiko ... seperti halnya alat "klon" ... dan untuk saat ini saya tidak tahu cara terbaik lainnya ... dan itu akan kehilangan aliran NTFS (jika saya tidak ingat buruk)

TOLONG: Baca dokumen cars fsarchiver, sebelum menggunakannya.

Saya memiliki responsability (saya telah menggunakannya pada data saya sendiri, tetapi juga saya memiliki cadangan eksternal - partikel yang baik).

Dalam praktiknya ... semua info yang saya miliki, saya menempatkannya di setidaknya tiga media yang berbeda (HDD, DVD, Flash Memories), dengan setidaknya tiga salinan pada setiap media, jadi saya memiliki 9 salinan ... jika saya kehilangan 8 dari mereka beristirahat satu lagi untuk memulihkan data ... saya sedikit paranoid, saya tahu.


Saya tidak akan merekomendasikan metode ini, karena (seperti yang Anda katakan) sangat berisiko dan biasanya tidak bernilai karena defragmentasi. Lebih baik menggunakan sistem Windows live untuk melakukan pekerjaan seperti itu (atau sistem Windows asli - mengapa tidak?).
Byte Commander

fsarchive hanyalah arsip tar canggih yang menyimpan beberapa atribut diperluas. Itu tidak mendefrag apa pun. Metode Anda sebaik salinan file sederhana dari satu partisi ke sistem file bersih lainnya.
ZAB
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.