Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Linux: Miten selvitä kovalevyn irtoamisesta?

ErroR++ [06.12.2015 17:48:12]

#

Terve!

Asensin Arch Linuxin noin puoli vuotta sitten ulkoiselle kiintolevylle ja olen ollut erittäin tyytyväinen enkä kaipaa Wintoosaa.

Minulla on USB-hubi, jossa on ulkoinen virtalähde (ulkoinen kiintolevy ottaa virtansa usbilla ja minulla on myös sellainen tuuletinalusta, joka syö paljon sähköä). Luulen, että koneesta on menossa USB-portti rikki, johon tämä hubi on liitetty. Tämän takia pienikin tärähdys saattaa aiheuttaa ongelmia ja usein ulkoisella kiintolevyllä olevat tiedostojärjestelmät irtoaa, enkä voikaan enää liittää sitä takaisin (mount on sillä levyllä). Tämä on ärsyttävää, varsinkin kun HDMI-johto on aivan usb-johdon vieressä ja joudun sitä joskus siirtelemään koneen ja RasPin välillä.

Tähän asti olen käyttänyt tällaista purkkaa, että suoritan aina kirjautumisen jälkeen start.sh:n, joka lataa kexec-crashkernelin ja sitten startx. Sitten jos/kun taas osun johtoon, painelen Alt-SysRequest ja REISUC, jonka pitäisi käynnistää crashkerneli (joka on siis sama kuin normikerneli), mutta en edes tiedä toimiiko tuo (viimeksi kun kokeilin niin reboottas vaan, jollen sitten epähuomiossa painanut B:tä enkä C:tä).

Olen jo sen verran miettinyt ja tehnyt, että laitoin fstabin tekemään 200 megan kokoisen tmpfs-ramlevyn ja liittämään sen /ramdisk -kohtaan. Tein myös systemd-skriptin joka kopioi mountin tuolle ramlevylle. Pystyn suoritamaan mountin tuolta muuten ongelmitta, mutta kun yritin sitä tiedostojärjestelmien irrottua, se ei onnistunut. (bash valittaa jotain että "no such file or directory").

Mitä muuta tuolle ramdiskille pitää kopioida, jotta saisin tiedostojärjestelmät liitettyä takaisin? (ehkäpä jotain kirjastoja?) Toimiiko tuollainen viritelmä edes? Onko jotain helpompaa keinoa?

Metabolix [06.12.2015 20:36:03]

#

Onko välttämätöntä pitää Linuxia kokonaan ulkoisella levyllä? Voisiko itse käyttöjärjestelmä olla sisäisellä levyllä? Laajakin valikoima ohjelmia mahtuu noin 10 gigan osiolle; yleensä Windowsin osiota voi edes tämän verran pienentää.

Voisit myös kokeilla tehdä initramfs:n, joka sisältäisi tarpeelliset ohjelmat esimerkiksi rescue-hakemistossa ja johon sitten liittäisit levyltä muut hakemistot (etc, home, root, srv, usr, var). Näin levyn irtoaminen ei poistaisi juuritiedostojärjestelmää vaan ainoastaan alempia hakemistoja. Toteutukseen tarvitset varmaan jonkin oman skriptin (hookin) mkinitramfs:lle; yleensähän initramfs:n lopussa siirrytään uuteen juurihakemistoon, ja nyt tämä pitäisi estää.

Ohjelmien osalta usein busyboxilla pääsee jo aika pitkälle.

ErroR++ [06.12.2015 21:47:46]

#

Olen muutaman kerran ajatellut asentaa Linuxin Windowsin päälle sisäiselle kiintolevylle, kun en ole sitä käynnistellyt viimeisen puolen vuiden aikana kun korkeintaan neljä kertaa ja nekin on jäänyt lyhyeksi (lähinnä hitauden takia). Silloin ongelma tosiaan ratkeaisi helposti, mutta joutuisin kokeilemaan omien ohjelmien windows-versioita jollain muulla koneella (tai virtuaalikoneella, mutta joutuisin siihen asentamaan winukan ja tällä hetkellä omistan vain XP:n OEM-levyn). Windowsin osion pienentämistä harkitsen, jos sen tekisin joskus.
Yritän huomenna viritellä jotain initramfs-juttuja, jos ehdin. Kiitos vastauksesta, kerron jos onnistun virittämään jotakin.

ErroR++ [16.02.2016 22:45:31]

#

*bump*
Probleema taitaa olla nyt solvattu. (ja tulihan sitä windowsiakin solvattua, Microsoft todellakin saisi mennä konkurssiin)

Päätin nyt sitten pienentää wintoosan osiota, mutta sepä ei ollutkaan aivan niin yksinkertaista. Ensin varmuuskopioin kaiken tärkeän (toivottavasti) ja poistin n. 70 gigatavua roskaa. Yli 250 gigaa tyhjää tilaa on varmasti riittävästi. No, joku tyyppi microsoftilla päätti että Windowssissa pitää olla tiedostoja, joita ei voi siirtää ja ne piti _tietysti_ tunkea juuri sinne osion loppuun. Joten osion pienentäminen ei onnistu kuin 70 gigatavulla, vaikka tilaa on vaikka kuinka.

Googlailin ympäriinsä ja päädyin poistamaan käytöstä sivutustiedoston, horrostilan ja järjestelmän palautuksen (niillä kaikilla on liikuttamattomia tiedostoja). Sehän ei auttanut ollenkaan. Tutkiskelin lokeja (eventwvr.exe, etsi id:llä 259) ja löysin jumittavan tiedoston (C:\windows\softwaredistribution\datastore\datastore.edb, kuuluu windows updatelle). Poistin windows updaten käytöstä ja poistin tuon tiedoston, ja sen jälkeen pystyin pienentämään osiota 190 gigatavua.

Sitten pitääkin vain joko siirtää entinen Linux sinne tai asentaa uudestaan (kumpi kannattaa?).

EDIT:
Reboottasin ja näytölle ilmestyi teksti:

Bootmgr is missing
Press Ctrl+Alt+Del to restart

Hmm. Windows rikkoi itse itsensä. Sepä mukavaa.
Sain idean ja yritin bootata wintoosaa GRUBista.... ja se toimi! Outoa. Windows on kuin pikkulapsi joka ei tiedä että veitsi on terävä ja sitä tulee käsitellä varoen, kun noin itsensä rikkoo.

Macro [17.02.2016 12:47:31]

#

Rikkoi itsensä? Harvemmin kannattaa mennä poistamaan järjestelmän omia tiedostoja ja sanoa sen jälkeen, että se hajosi itsekseen.

Osiointi on toiminut tuolla tavalla aina NTFS:n kanssa. Jos haluat vapauttaa tilaa, defragmentoi levy ja ota sitä lopusta. Jos sulla on dataa levyllä missä sattuu, ei se toimi.

ErroR++ [17.02.2016 13:39:39]

#

Levy on defragmentoitu ja ainakin windowsin oman analyysin mukaan 0% pirstoutuneena. Ja niinkuin sanoin GRUBilla boottaus toimii.
Ainakin netistä löytämäni tiedon mukaan Windows Update vaan luo tuon tiedoston uudestaan seuraavalla (sen minkä poistin).

(ja siis eihän tuosta boottauksen rikkoutumisesta mitään haittaakaan ole kun kuitenkin asennan GRUBin kohta sille levylle)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta