Kysymys XP-guruille.
Olen tässä hämmästellyt, kun Windows XP:n (SP3) päivitykset vähä vähältä syövät miniläppärin nopean 4GB levyn tilat. Nyt on jäljellä enää muutama sata megaa, kun alkujaan oli gigan verran. Olen tyhjentänyt cachet ja poistanut Windows Update Removerilla kaikki päivitysten backupit ja siivonnut Java Runtimen Environmentin vanhat asennukset ja kaiken "turvallisesti poistettavan" tauhkan pois, mutta silti alkaa nopea levy käydä ahtaaksi.
Aloin miettiä, miten XP:n Installer on totetettu? Sehän varastoi piilotettuun hakemistoon c:\windows\installer kaiken installointikonffaustiedon, ja aivan älyttömästi kamaa siellä näkyy olevankin (gigan verran). Tätä hakemistoa ei siis voi oikein hävittää, kun sitten kaikki mahdolliset ohjelmien uudelleenasennukset ja poistamiset eivät enää toimi.
Siispä kysymys: olisi yksinkertaista siirtää koko windows\installer -hakemisto hitaammalle isolle levylle ja yksinkertaisesti etsi/korvaa-systeemillä käydä registry läpi niin että korvaa stringin "c:\windows\installer" joka paikassa stringillä "d:\windows\installer" (tai mihin sen nyt sitten siirtääkin). Toimiiko näin? Vai onko sitä stringiä c:\windows\installer ripoteltu muuallekin kuin registryyn, esim. ini-tiedostoihin?
Olen tässä hämmästellyt, kun Windows XP:n (SP3) päivitykset vähä vähältä syövät miniläppärin nopean 4GB levyn tilat. Nyt on jäljellä enää muutama sata megaa, kun alkujaan oli gigan verran. Olen tyhjentänyt cachet ja poistanut Windows Update Removerilla kaikki päivitysten backupit ja siivonnut Java Runtimen Environmentin vanhat asennukset ja kaiken "turvallisesti poistettavan" tauhkan pois, mutta silti alkaa nopea levy käydä ahtaaksi.
Aloin miettiä, miten XP:n Installer on totetettu? Sehän varastoi piilotettuun hakemistoon c:\windows\installer kaiken installointikonffaustiedon, ja aivan älyttömästi kamaa siellä näkyy olevankin (gigan verran). Tätä hakemistoa ei siis voi oikein hävittää, kun sitten kaikki mahdolliset ohjelmien uudelleenasennukset ja poistamiset eivät enää toimi.
Siispä kysymys: olisi yksinkertaista siirtää koko windows\installer -hakemisto hitaammalle isolle levylle ja yksinkertaisesti etsi/korvaa-systeemillä käydä registry läpi niin että korvaa stringin "c:\windows\installer" joka paikassa stringillä "d:\windows\installer" (tai mihin sen nyt sitten siirtääkin). Toimiiko näin? Vai onko sitä stringiä c:\windows\installer ripoteltu muuallekin kuin registryyn, esim. ini-tiedostoihin?
Vastaukset 6
Vanhimmat
Siirrä vaan, eihän ne tiedostot ole aktiivikäytössä. Tuolla voit kertoa systeemille mistä löytyy. http://shup.com/Shup/274855/110030154843-My-Desktop.png
Kiitoksia vastauksesta, pathiin lisääminen ei kuitenkaan auttane kun se stringi "c:\windows\installer" näkyy olevan kovakoodattuna registryyn varmaan yli 100 paikkaan. Eli installer etsii konffausdatojaan aina sieltä, jos vaikka haluan poistaa tai uudelleenasentaa jonkun ohjelman. Sinne registryyn voisi vaihtaa joka paikkaan "d:\windows\installer", jonne ko. hakemiston voisi siirtää, mutta villakoiran ydin on että toimiiko sittenkään vai onko se "c:\windows\installer" kovakoodattu tuhanteen muuhunkin paikkaan?
Hienointahan tietysti olisi jos jossain päin todella määriteltäisiin installerin käyttämä path-muuttuja, mutta ilmeisesti ei koska polku on registryssä kovakoodattuna joka paikassa.
Ehdin tuossa jo hetken kaipailla windowsille unixin tapaista symbolista linkkisysteemiä, jolla saisi hakemistonimen helposti viittaamaan jonnekin aivan toisaalle. Mutta senhän on jo joku kirjoittanutkin, kun NTFS kerran tukee moista. Täältä löytyy:
http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx
On ilmainen, mutta toimii vain komentoriviltä. Siispä kopioin kaiken c:\windows\Installer -hakemistosta d:\windows\Installer -hakemistoon (alihakemistot ja kaikki piilotetutkin tiedostot attribuutit säilyttäen, eli komentorikkunan rivikomentoina (juu, olen vanhanaikainen)
d:
cd \
mkdir windows
cd windows
mkdir Installer
cd Installer
xcopy -EHKOX c:\windows\installer\* .
ja kopioinnin valmistuttua tuhosin koko Installer-hakemisto c:ltä:
c:
cd \windows
cd \Installer
del /S /ARSHA *
cd ..
rmdir Installer
Ja lopuksi luodaan Installer-hakemisto uusiksi ja sitten tuolla linkin työkalulla tehdään siitä "NTFS junction" eli symbolinen linkki d-levyn vastaavaan hakemistoon:
c:
cd \windows
mkdir Installer
c:\tmp\junction.exe c:\windows\Installer d:\windows\Installer
(tuon viimeisen rivin linkistä ladattu junction.exe on tallennettu c:\tmp-hakemistoon).
Ja kas, nyt kun menee hakemistoon c:\windows\Installer niin siellähän näkyy kaikki se gigatavun tauhka joka ennen oli c:-levyllä mutta sijaitseekin nyt oikeasti d:llä.
Ja minähän en sitten ota mitään vastuuta jos joku muu haluaa kokeilla samaa. Jos ei tiedä mitä on tekemässä, voi saada aikaan windowsin jota ei pysty enää päivittämään eikä softia poistamaan tai uudelleeninstalloimaan. Vähintäänkin kannattanee tehdä Installer-hakemistosta varmuuskopio jonnekin tikulle. Nyt boottaan, katsotaan käynnistyykö enää... rohkea rotan syö :)
Boottasipa hyvinkin. Kaikki installer-tiedostot näkyvät entiseen tapaan hakemistossa c:\windows\installer, eli XP:n installerin pitäisi löytää ne kuten ennenkin jos softien asennuksia on tarpeen modifioida. C-levyllä on kuitenkin nyt 1,4 gigaa vapaata tilaa kun ennen remonttia oli 0.4. Näinkös helppoa tämä olikin, vai vieläköhän Bill Gates kostaa jotenkin...
Aavistinpa oikein, kyllä Bill Gates on pitänyt huolen siitä että ei tasan onnistu. Poistin kokeeksi Ohjauspaneelin kautta yhden pikkuohjelman, ja poistuihan se, eli asennustiedot löytyivät NTFS junctionin kautta - mutta samalla katosi kaikki Installer-hakemiston sisältö alihakemistoineen päivineen. Eli kaikki softainstallaatioiden konfiguraatiotiedot, joita tarvitaan sovellusasennusten muokkaamiseen tai poistamiseen. Installerin päästäminen käpistelemään hakemistoa NTFS junctionin kautta tuhosi ilmeisesti sekä itse junctionin että tiedostot siellä mihin linkki osoitti.
No, onneksi oli backupit. Windowsin kanssa ei kyllä kannata yksinkertaisintakaan asiaa yrittää ilman että tekee sellaiset ensin.
Unix-maailmassa kyllä toimii tällaiset linkitkin aivan mainiosti. Onkohan ne unix-koodaajat vain fiksumpia kuin Microsoftilla?
Joku viisas onkin näemmä jo miettinyt oikean tavan hoitaa homma, testasin ja toimii. Gigatavu vapautui ruuhkaiselta C-levyltä, ja softa-asennusten käpistely Windows Installerilla toimii. Mahtavaa!
http://prism-it-services.com.au/blog/free-up-space-on-your-eee-pc-automated-method/