Ext4 partíció konvertálása NTFS partícióvá adatvevesztés nélkül, lehetséges?

A kérdés adott, arra lennék kiváncsi, hogy lehetséges e egy Ext4-es partíciót adatvesztés nélkül NTFS partícióvá konvertálni?
Egyrészt idő megspórolása miatt lenne érdekes, másrészt pedig azért, mert nincs helyem biztonsági mentést csinálni.

Köszi!

Attila

Hozzászólások

"mert nincs helyem biztonsági mentést csinálni." Jájjj
Erre mindig legyen helyed.

És ha elromlik a vinyó? még a családi képek is fájdalmasak ha elvesznek.

Lehetséges, de iszonyú sok kódolással jár.
Vegyél inkább egy HDD-t. Fél terrás olyan 7-8 ezer körül lehet.

"Ext4 partíció konvertálása NTFS partícióvá adatvevesztés nélkül, lehetséges?"

Igen.
1. adat lement.
2. vinyó formáz
3. adat visszair.
Ez az egyetlen módja.
:))
--

Már miért ne lenne?
Ohh látom mi a gondod, akkor legyen így:
1. Adat memóriába ment
2. winyó átalakít
3. Adat visszaír

Opcionálisan, ha nem lenne elég memóriád, hogy ezt egy lépésben megtedd, felbonthatod kisebb darabokra, de akkor a 2. lépést magadnak kell lekódolnod.
Így ok? :)

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

emlékeim szerint fat32>ntfs konvertáláshoz is annyi hely kellett mint a lefoglalt méret.

ha van 50% szabad helyed, akkor az ext es az ntfs is darabolhato, en ezt mar csinaltam:

1. levagod az ext felet (amin nincs adat)
2. a levagott felet formazod ntfs-re
3. ext-rol ntfs-re adat athelyez
4. ext torol
5. ntfs merge-elese az ujonnan letrejott ures particioval

Ezt egyszer gparteddel vegig tudtam csinalni (bar lehet pont forditott iranyban), hozzatennem, hogy (gondolom a toredezettseg miatt) meg ez is fel napig tartott egy 400GB-s vinyon, tehat mondanam, hoigy irhatsz scriptet ami 10% szabad hellyel megcisnalja neked a darabolast 10%-onkent loopban, de nem igazan javaslom, idoigenyes is, meg valogatni is kell mit helyezel at, meg ismetlodve nem tudom mennyire fog ez szepen menni.

Elmeleti megoldas tehat, ami gyakorlatban bonyolultabb mint vinyot kolcsonkerni:

n=szabadhely(ext)/sizeof(drive), TFH mar mindent letoroltunk ami nem kell

-kikapcsoljuk tune2fs-sel az 5% automatikus lefoglalast ( n+= 0.05; )

1/n-szer (vagy amig van ext particio) ciklikusan vegrehajtjuk a kovetkezo lepeseket:

-elo ext particiobol levagjuk a szabad helyet ("majdnem" n/sizeof(drive)-nyi, minel kevesebb szabad helyet hagysz a szabad helybol szabadon, annal tobb ideig fog tartani a particiovagas a toredezettseg miatt)
-ha meg nincs ntfs particio, ures helyre ntfs particiot letrehozunk, ha van, merge-eljuk az uj szabad helyet az elozo particioval
-midnket particio felmount
-"nincs szabad hely" stderr uzenetig mv -rf
-mindket particio lemount

Roviden: ha eleg beteg vagy es nem fontosak az adatok meg a villanyszamla, akkor irsz egy bash scriptet parted parancsokkal tele, ha van eszed, akkor pedig megfogadod a tobbiek tanacsat: kolcsonkersz egy vinyot

Szerintem is az a megoldás, hogy kell egy mentés, újraformázás, stb.

Csak az érdekesség kedvéért azonban leírom az ötletemet:

1a) defrag az ext4-en
1b) ext4 partícióméret csökkentés minimálisra
1c) maradékon ntfs partíció létrehozása
2a) ext4-ről amit lehet átnyomni az ntfs-re
2b) ext4 defrag
2c) ext4 csökkentés
2d) ntfs növelés amennyire lehet
2e) ha van még valami azt ext4-en, akkor goto 2a)
3) ext4 törlés, ntfs maximalizálás

Ha a vinyó 80%-os kihasználtságú, akkor elvben 5 lépésben menne ez, ámbár nem tudom, a partícióméret-váltások mennyi puffert igényelnek.

De még ha megy is elvben, akkor sem éri meg a sok hibalehetőség meg a sok elvesztegetett emberidő miatt.

Ha mégis meg kellene csinálnom, előtte nagytakarítást végeznék, amit lehet, tömörítenék, hogy minél nagyobb lépésekben menjen a dolog.

De az is lehet, hogy valamit nagyon félreértek.

\begin{hülyeség}
Amíg a gépi kódban van "goto", addig nem félek, mert a gép anyanyelvén is érthető, amit írok. :-)

Arra leszek kíváncsi, hogy a kvantumszámítógépeket milyen nyelven fogják programozni. Egyelőre nagyon ezoterikusnak tűnik. Na, ott szinte biztos nem lesz goto. De addig...

(Igen, olvastam Dijkstra véleményét, és igazi kódban évek óta nem írtam le goto-t.)
\end{hülyeség}

Ha olvastad, akkor tudnád: Dijkstra nem a GO TO utasítást tiltotta.
Írás csak arról szólt, hogy egy dinamikus folyamatot nem célszerű fix címkékkel kódolni. Ha mégis ezt tennéd, akkor a kód kaotikus lesz. Az tény, hogy emiatt utálta az (akkori) BASIC nyelvet, - mivel az nem rendelkezett a strukturált program megvalósításához szükséges eszközökkel - és ezért "tiltotta" a GO TO-t.

A valós folyamatok körében meg összefuthatsz folyamatábrával nem ábrázolható folyamatokkal és rögtön sutba dobhatod ezt a félreértelmezett okoskodást.

Időt nem fogsz spórolni a szabad hely levág, új partíció, (adatok mozgat, levág, nyújt) amíg van adat a régi partíción mókával - kockázatot viszont annál többet vállalsz: előállhat egy hiba miatt olyan állapot, amiből csak jelentős munka árán tudod visszanyerni az adataidat. Én nem vágnék bele ilyesmibe, kérnék kölcsön egy diszket, ha máshogy nem megy.

2011 májusa régen volt, nem tudom, hogy akkor hogyan álltam diszkekkel, de most aránylag egyszerűen meg tudok oldani pár TiB adat átmeneti elpakolását - miközben a gépemben olyan nettó 400GiB diszkterület van, OS-sel, adatokkal, tokkal-vonóval... És ez meglepő módon elég :-P

nekem is nem indult el az arch többé, meguntam, aztán egy másik winyóra raktam wint, hogyan lehetne legegyszerűbben az adatokat lementeni róla? Reiser, btrfs és ext4 is van, csak, hogy teljes legyen a kép. lehet olyat, hogy vurtualboxba beadom a rendes winyót, hogy láthassa a virtualboxba telepített linux, aztán ott egy esetleges samba vagy ftp, vagy bármilyen megosztással átmásolni?

Lehet, de ha tudsz usbről bootolni, akkor szerintem egy system rescue cd vagy nagyjából bármilyen live linux bootolásával eléred mind a régi, mind az új vinyót, és mindenféle hálózati megosztás helyett oda másolod a dolgaid, ahova akarod.
Az egyetlen kikötés, hogy a live támogassa az ntfs-3g-t, különben csak olvasni fogod tudni az ntfs-eket.

Mentés nélkül neki se fognék ilyennek...