Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Asentaminen ja käyttöönotto => Aiheen aloitti: AimoE - 06.01.16 - klo:16.43
-
Edit 23.1.2016: Olen lisännyt ratkaisun myöhempään viestiin (http://forum.ubuntu-fi.org/index.php?topic=49993.msg383695#new) ja tarkan kuvauksen komentoineen Ask Ubuntu -vastaukseeen (http://askubuntu.com/questions/264416/dual-ubuntu-installations-with-whole-disk-encryption).
Kannettavalle koneella salaus on minusta välttämätön. Ubiquity ei tue salattua rinnakkaisasennusta, joten tähän asti olen päässyt kokeilemaan uusia julkaisuja vain asennustikulta. Haluaisin oppia asentamaan toisen salatun Linux-julkaisun samalle koneelle ilman että ensisijainen salattu Ubuntu samalla tuhoutuu.
Olen nyt ehtinyt kaivaa sen verran tietoa tätä varten, että olen jo melkein valmis kokeilemaan, mutta yksi ongelma on vielä ratkaisematta.
Perustiedot:
Koneessa on BIOS, ilman UEFI-valmiutta.
Asennuksen olen viimeksi tehnyt päälleasennuksena, joten
kovalevyllä /dev/sda on Ubuntu 15.10 -asennuksen luomat osiot:
- sda1 : ensisijainen osio (ext2; 236 Mt; /boot-osio)
- sda2 : laajennettu osio
- sda5 : looginen osio, jossa LUKS-säiliö, jossa LVM-taltioryhmän ainoa fyysinen taltio
- Taltioryhmässä on loogiset taltiot root (ext4) ja swap_1 (swap).
Netin lähteistä käy ilmi että:
- LUKS-säiliön koon muuttaminen (https://help.ubuntu.com/community/ResizeEncryptedPartitions) on minulle liian vaikeaa.
- Salatun Ubuntun asennus toisen Ubuntun rinnalle, eri osiolle (http://askubuntu.com/questions/293028/how-can-i-install-ubuntu-encrypted-with-luks-with-dual-boot) ei ole liian vaikeaa (kritiikkiä saameen cryptroot-asetuksen tarpeellisuuden voi tarkistaa ytimen imagesta (https://www.howtoforge.com/encrypted-root-lvm)).
- Useamman Linux-julkaisun asennus samaan LUKS-säiliöön (http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive) ei ole yhtään vaikeampaa (ja ohje on paremmin laadittu).
- Mint-asennus ja /boot salattuna UEFI-koneella (http://community.linuxmint.com/tutorial/view/2061) jättää vain Grubin salaamatta. Ensimmäisenkin asennuksen /boot-osion voi siirtää salatulle osiolle (http://missinglink.xyz/security/tutorial-debianubuntu-full-disk-encryption-luks-fde-including-encrypted-boot) (ja avaintiedoston voi lisätä (http://missinglink.xyz/security/tutorial-debianubuntu-full-disk-encryption-luks-fde-including-encrypted-boot/improved-full-disk-encryption-add-luks-key-file-initrdinitramfs/)) myös jälkikäteen.
- Kun erillistä salaamatonta boot-osiota ei tarvita jokaiselle asennukselle erikseen, koko Grub-ketjun voi asentaa levyn ainoalle salaamattomalle osiolle. Nykyistä osiointia ei ole mikään pakko muuttaa!
- Asenna Windows 7, Windows 8 ja Mint salattuna rinnakkain (http://thornton2.com/Encrypted_PC_Triple_Boot_with_BitLocker_and_LUKS_Howto) ja sama avaintiedoston kanssa (http://thornton2.com/Encrypted_PC_Triple_Boot_with_BitLocker_LUKS_and_Key_Files_Howto) kannatti lukaista ihan vertailun vuoksi.
Yhteenveto:
- Salaus tekee rinnakkaisasennuksen hankalaksi ihan riippumatta siitä asennetaanko uusi Linux olemassa olevaan LUKS-säiliöön vai tuhotaanko ensisijainen Linux uudella osioinnilla.
- Toinen Linux onkin siis helpointa asentaa samaan LUKS-säiliöön, jossa ensimmäinen asennus jo on.
- Osiointia joudutaan muuttamaan vain jos halutaan erilliset LUKS-säiliöt.
Vaikka Ubiquity ei sellaisenaan taivu tähän, sen tuotosta voi muokata – jos osaa. Muokkaus on parasta tehdä ennen koneen uudelleenkäynnistystä asennuksen lopussa.
Salatun rinnakkaisasennuksen päävaiheet:
- Käynnistä kone asennustikulta, valitse Linuxin käynnistys ja suorita kaikki vaiheet live-Linuxin sisällä.
- Muokkaa LVM-taltioita.
- Kutista ensisijaisen asennuksen juuritaltiota.
- Lisää toinen juuritaltio.
- Lisää jaetulle datalle oma (fyysinen tai vain looginen) taltio.
- Säilytä swap-taltio (yhteinen riittää, koska salaus estää lepotilan käytön).
- Käynnistä asennusohjelma.
- Valitse asennustyyppi "Jokin muu vaihtoehto" ja poimi asennukselle varatut loogiset taltiot.
- Valitse "Jatka testaamista" asennuksen lopussa.
- Viimeistele asennus.
- Muokkaa asetuksia uudella juuritaltiolla (ainakin /etc/crypttab ja /etc/default/grub).
- Päivitä initramfs ja grub chroot:lla.
- Asenna grub paikalleen chroot:lla.
- Käynnistä kone lopuksi uudelleen ilman asennustikkua.
Jäljellä oleva ongelma on Grub. Kaikki salauksen vaatimat loitsut ovat ihan riittävän selkeitä (ja ohjeiden vertaaminen auttaa), mutta löytämissäni rinnakkaisasennuksen ohjeissa neuvotaan Grubin asennus aina salaamattomalle boot-osiolle, eikä paraskaan /boot-hakemiston salausohje ota rinnakkaisasennusta huomioon. Näistä palasista en pysty vielä hahmottamaan mitä Grubin kanssa pitäisi tehdä.
Erityisesti kaipaan neuvoja (ja lähdeviittauksia) siihen,
- mihin uuden asennuksen grub kannattaisi sijoittaa?
- miten lataimien ketjutus määritellään kun /boot on salattu?
- miten uusi grub asennetaan oikeaan paikkaan?
-
Jäljellä oleva ongelma on Grub. Kaikki salauksen vaatimat loitsut ovat ihan riittävän selkeitä (ja ohjeiden vertaaminen auttaa), mutta löytämissäni rinnakkaisasennuksen ohjeissa neuvotaan Grubin asennus aina salaamattomalle boot-osiolle, eikä paraskaan /boot-hakemiston salausohje ota rinnakkaisasennusta huomioon. Näistä palasista en pysty vielä hahmottamaan mitä Grubin kanssa pitäisi tehdä.
Erityisesti kaipaan neuvoja (ja lähdeviittauksia) siihen,
- mihin uuden asennuksen grub kannattaisi sijoittaa?
- miten lataimien ketjutus määritellään kun /boot on salattu?
- miten uusi grub asennetaan oikeaan paikkaan?
Eikös yksi Grub riitä. Eli jätetään asentamatta. Tosin ei salauksesta kokemusta. Rinnakkaisasennuksessa jätän
aina lataajan asentamatta ja lisää systeemin jo asennettuun lataajaan.
Lisää turvaa tuo lataajan ja kernelin asentaminen tikulle.
Molemmilla systeemeillä voi olla yhteinen /boot. /boot osiota ei
tarvitse liittää juureen (toki päivityksen ajaksi). Toki hankaloittaa
jos kaksi samanlaista systeemiä.
En ymmärrä miksi /boot pitää olla salattu. initrd.img on
ehkä pakollinen kun systeemi on salatulla leyllä. Itse en käytä
initrd.img jos käännän kernelin itse. Jos kerneli on itse käännetty
tietylle alustalle ei levy juuri käynnisty muissa koneissa. Esim.
jos kerneli käännetty amd prosulle ja mukana vain välttämättömät
ajurit ei se ainakaan Intel-konessa käynnisty.
-
Eikös yksi Grub riitä. Eli jätetään asentamatta. Tosin ei salauksesta kokemusta. Rinnakkaisasennuksessa jätän
aina lataajan asentamatta ja lisää systeemin jo asennettuun lataajaan.
Kysymyksistäni käy aika selvästi ilmi että olen täysi aloittelija grubin kanssa, joten en osaa lisätä siihen käsin yhtään uutta asennusta. Itse asiassa koko viestissäsi ei ole yhtään mitään minkä avulla pääsisin yhtään eteenpäin. Mielipiteillä ei voi tietokonetta konffata.
En ymmärrä miksi /boot pitää olla salattu.
Kuvauksestani kävi ilmi yksi syy: ettei tarvi osioida uudelleen. Siihen voisin lisätä että lähteitä etsiessäni löysin mainintoja että salaamattoman /boot-osion tiedostoihin on oikeasti murtauduttu, mutta en jäänyt sitä sen enempää selvittelemään.
-
Eikös yksi Grub riitä. Eli jätetään asentamatta. Tosin ei salauksesta kokemusta. Rinnakkaisasennuksessa jätän
aina lataajan asentamatta ja lisää systeemin jo asennettuun lataajaan.
Kysymyksistäni käy aika selvästi ilmi että olen täysi aloittelija grubin kanssa, joten en osaa lisätä siihen käsin yhtään uutta asennusta.
Asennat uuden järjestelmän ilman Grubia ja sitten käynnistät uudelleen. Tässä vaiheessa Grub-valikossa on vain se mikä oli ennenkin, eli et pääse vielä uuteen asennukseen. Päivität grubin sudo update-grub
ja sitten löytyy myös uusi asennus.
-
Asennat uuden järjestelmän ilman Grubia ja sitten käynnistät uudelleen. Tässä vaiheessa Grub-valikossa on vain se mikä oli ennenkin, eli et pääse vielä uuteen asennukseen. Päivität grubin sudo update-grub
ja sitten löytyy myös uusi asennus.
Tein yhden epäonnisen yrityksen joskus kuukausia sitten, kun en vielä ollut löytänyt kaikki ohjeita jotka nyt löysin. Ja silloin update-grub ei löytänyt LUKS:n ssiältä toista asennusta.
Joten kysyms: miten voin ajaa os-prober:n sellaisenaan, ilman että se on update-grub:n osana? Haluaisin nähdä mitä se löytää siinä vaiheessa kun en ol evielä bootannut asennuksen jäljeltä.
-
os-proberin ajo onnistuu onnistuu yksinkertaisesti komentamalla sudo os-prober
-
os-proberin ajo onnistuu onnistuu yksinkertaisesti komentamalla sudo os-prober
Oma moka. Ensinnäkin, os-proberille ei ole man-sivua, ja sitten tämä: http://askubuntu.com/questions/31442/os-prober-returns-nothing
-
Oma moka. Ensinnäkin, os-proberille ei ole man-sivua, ja sitten tämä: http://askubuntu.com/questions/31442/os-prober-returns-nothing
Eli se ei löydä salattua rinnakkaisasennusta? Se lienee odotettavissa oleva tulos. Veikkaisin, että joudut joko kikkailemaan molemmat asennukset saman salauksen taakse tai käyttämään salaamatonta /boot-osiota.
-
Eli se ei löydä salattua rinnakkaisasennusta? Se lienee odotettavissa oleva tulos. Veikkaisin, että joudut joko kikkailemaan molemmat asennukset saman salauksen taakse tai käyttämään salaamatonta /boot-osiota.
No ei kun tänään vaan kokeilin komentoa ensisijaisen Ubuntun sisältä.
Yritän valmistella yrityksen paremmmin kuin viimeksi, ja kokoan vasta ohjeistoa itselleni. Mutta alkaa jo tuntua siltä että ehkä tässä viikon sisällä olen valmis kokeilemaan.
-
Taidanpa lopettaa kaivelun tältä päivältä. Mutta näyttäisi siltä että jos update-grub ei toimi, niin ratkaisu löytyy komennoista grub-mkconfig (https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html) ja grub-install (https://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-using-grub_002dinstall.html) tai jostain sieltä päin.
-
En tiedä miten update-grub toimii salattujen osioiden kanssa. Jos osiot on liitetty niin luulisi löytyvän. Asenna /boot ja grub tikulle. Jos /boot taskussa tikulla ei pelkoa murtautumisesta. Ainakin saat asennetun systeemin käyntiin.
Myohemnin voit kopioida /boot kansion kovalevylle jos haluat. Samoin editoida jo asennettua grubbia eli lisäät sinne asennetun systeemin.
Lataajia voi myös ketjuttaa. Ei yhdellä lataajalla voidaan käynnistää toinen joka sitten lopulta käynnistää systeemin. Eli lisää
GRUB_DISABLE_OS_PROBER=true ja GRUB_ENABLE_CRYPTODISK=y pitänee myös olla.
Lisätään jokaiselle asennetulle jakelulle grubin konffiin.
menuentry "Linux /dev/sda2 chainload" {
set root=(hd0,2)
chainload +1
}
menuentry "Linux /dev/sda3 chainload" {
set root=(hd0,3)
chainload +1
}
Toinen systeemi asennetaan normaalisti, mutta grub asennetaan
systeemin juureen. Esim. /dev/sda2
Suunnilleen noin voi tehdä ja toimii ainakin ei salattujen osioiden kanssa.
update-grub pitää tietysti ajaa. Ketjuttamisella on etuja jos asennettuja systeemejä useampi. Jos vain kaksi yhdelläkin lataajalla pärjää.
On toki hienoa jos osaa koko systeemin salata. Jos boot osio on salaamaton, en tiedä miten se helpottaa koneeseen murtautumista.
-
Taidanpa lopettaa kaivelun tältä päivältä. Mutta näyttäisi siltä että jos update-grub ei toimi, niin ratkaisu löytyy komennoista grub-mkconfig (https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html) ja grub-install (https://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-using-grub_002dinstall.html) tai jostain sieltä päin.
update-grub kutsuu suoraan grub-mkconfigia
cat /usr/sbin/update-grub
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
grub-install asentaa Grubin alkulataajan määrättyyn sijaintiin (MBR:ään tai jollekin osiolle).
On toki hienoa jos osaa koko systeemin salata. Jos boot osio on salaamaton, en tiedä miten se helpottaa koneeseen murtautumista.
Mahdollistaa periaatteessa sabotoinnin tai vakoiluohjelmien asennuksen (jos siis joku pääsee fyysisesti käsiksi koneeseen), mutta ei edesauta suoraa murtautumista salatulle osiolle.
-
Ensinnäkin, os-proberille ei ole man-sivua
Ei ehkä auta tähän ongelmaan mutta jos man-sivua ei ole niin silloin kannattaa kokeilla infoa joka löytyy myös os-proberille. Info on vielä laajempi kuin man-sivut ja lähes kaikille ohjelmille on infoa, ei ole ainakaan itselle tullut vastaan ohjelmaa ettei olisi. info os-prober
-
Ihan varmaan tyhmä kommentti vaan, mutta jos pahantekijä tietää, että koneessasi on salattu linux, niin eikös se sen kaiva halutessaan esiin? Eri juttu on, jos ei hokaa, että koneessa piilee toinenkin linuksi eli ei ymmärrä sitä etsiä. Lienenkö oikeassa?
-
Ihan varmaan tyhmä kommentti vaan, mutta jos pahantekijä tietää, että koneessasi on salattu linux, niin eikös se sen kaiva halutessaan esiin? Eri juttu on, jos ei hokaa, että koneessa piilee toinenkin linuksi eli ei ymmärrä sitä etsiä. Lienenkö oikeassa?
Tiedostojärjestelmän salauksen ideana on estää levyllä olevien tietojen lukeminen ilman sisäänkirjautumista salasanalla tai muulla tunnisteella. Eli kun joku ryöstää läppärisi, tiedot on suojattu niin, ettei varas pääse niihin käsiksi millään konstilla.
-
Ihan varmaan tyhmä kommentti vaan, mutta jos pahantekijä tietää, että koneessasi on salattu linux, niin eikös se sen kaiva halutessaan esiin? Eri juttu on, jos ei hokaa, että koneessa piilee toinenkin linuksi eli ei ymmärrä sitä etsiä. Lienenkö oikeassa?
Tiedostojärjestelmän salauksen ideana on estää levyllä olevien tietojen lukeminen ilman sisäänkirjautumista salasanalla tai muulla tunnisteella. Eli kun joku ryöstää läppärisi, tiedot on suojattu niin, ettei varas pääse niihin käsiksi millään konstilla.
Riippuu kai vähän varkaastakin. Jos kyseinen "varas" on jokin valtiollinen taho, jolla käytettävissä tarvittavat keinot ja välineet tiedostojärjestelmän salauksen murtamiseen, tiedostojärjestelmän salaus on silloin murrettavissa.
-
On toki hienoa jos osaa koko systeemin salata. Jos boot osio on salaamaton, en tiedä miten se helpottaa koneeseen murtautumista.
Mahdollistaa periaatteessa sabotoinnin tai vakoiluohjelmien asennuksen (jos siis joku pääsee fyysisesti käsiksi koneeseen), mutta ei edesauta suoraa murtautumista salatulle osiolle.
Mitenkäs tuonne vakoiluohjelman pistää? Kerneli ja initrd ovat kuitenkin pakattuja. Kenties myös salattuja ja tarkistussumma tarkistetaan. Vaatii noiden muokkaus osaamista. Käynnistyslataaja on osaksi juuressa. Ei sitäkään helposti korvata. /boot osioa ei tarvitse liittää juureen. Jos siellä on ylimääräistä sitä ei saa ajettua.
-
Mitenkäs tuonne vakoiluohjelman pistää?
Ei kovin helposti, mutta se on periaatteessa mahdollinen hyökkäysvektori. NSA:llekin helpompi nakki kuin AES-256:n purkaminen (joka on tällä hetkellä todennäköisesti mahdotonta muuten kuin arvaamalla/brute-forcettamalla salasana. Riittävän monimutkaisella salasanalla menee hyvin vaikeaksi).
Itse kyllä käyttäisin salaamatonta /boot-osiota, jos vaikuttaa siltä, että muut vaihtoehdot ovat hankalia.
-
Vielä kerran: en yritä /boot-hakemiston salausta turvallisuuden takia, vaan siksi että se tekee rinnakkaisasennuksen helpommaksi.
Jos en saa grub-ongelmia ratkaistua, joudun osioimaan uudelleen koko levyn, jolloin menetän olemassa olevan Ubuntu-asennuksen ja joudun sitten tekemään sen uudelleen, ja lisäksi asennus menee yhtä monimutkaiseksi kuin seuraavakin asennus, koska haluan että molemmat ovat salattuja. Mutta jos saan grubin mallattua, niin Ubuntu säilyy paikallaan, ja riittää kun asennan toisen Linuxin siihen rinnalle.
Salattu rinnakkaisasennus nyt vaan sattuu olemaan vaikeampi temppu operaatio kuin /boot:n salaus.
-
Vielä kerran: en yritä /boot-hakemiston salausta turvallisuuden takia, vaan siksi että se tekee rinnakkaisasennuksen helpommaksi.
Sinullahan on nyt täysin salattu asennus, eikö? Tee tilaa rinnakkaiselle asennukselle ja asenna se niin, että /boot on erillisellä salaamattomalla osiolla ja muu järjestelmä on salattu. Älä sijoita Grubin alkulataajaa MBR:ään vaan vaikka sinne /boot-osiolle!!!
Asennuksen jälkeen boottaat vanhaan järjestelmään ja päivität siellä grubin, jolloin se löytää uuden asennuksen ja lisää sen käynnistysvalikkoon. Jos boottaus ei jostain syystä onnistu näin, kakkosoptiona on chainloadata uuden asennuksen GRUB. Se voi onnistua, vaikka /boot olisi salattu.
-
Tee tilaa rinnakkaiselle asennukselle ja asenna se niin, että /boot on erillisellä salaamattomalla osiolla ja muu järjestelmä on salattu.
Juuri tuo "tee tilaa" on se mitä en pysty tekemään. Pystyn tekemään tilaa LUKS-säiliön sisällä, mutta en pysty kutistamaan LUKS-säiliötä jotta saisin levylle uuden salaamattoman osion niin että koneella Ubuntu säilyy sellaisenaan käytössä. Mielestäni kerroin tämän ihan selvästi jo ekassa viestissäni.
-
Vielä kerran: en yritä /boot-hakemiston salausta turvallisuuden takia, vaan siksi että se tekee rinnakkaisasennuksen helpommaksi.
Miksi salattu /boot tekee rinnakkaisasennuksen helpommaksi? /boot voi olla myös jaettu useammalle systeemille. Ei Grubin editointia kannata pelätä. Kyllä sinne voi lisätä omia valikoita. Kun käyttää linkkiä ei lataajaa tarvitse edes päivittää jos vaihtaa kernelin.
Toki kaksi systeemiä tuo tietynlaista varmuutta. Jos toinen menee rikki on toinen heti käytössä. Itsellänikin on useampi asennus koneella.
-
Tee tilaa rinnakkaiselle asennukselle ja asenna se niin, että /boot on erillisellä salaamattomalla osiolla ja muu järjestelmä on salattu.
Juuri tuo "tee tilaa" on se mitä en pysty tekemään. Pystyn tekemään tilaa LUKS-säiliön sisällä, mutta en pysty kutistamaan LUKS-säiliötä jotta saisin levylle uuden salaamattoman osion niin että koneella Ubuntu säilyy sellaisenaan käytössä. Mielestäni kerroin tämän ihan selvästi jo ekassa viestissäni.
Silloin vaihtoehdoksi jää nykyisen boot-osion pienentäminen siten, että sen viereen mahtuu uuden asennuksen boot-osio. Uuden asennuksen voi sijoittaa nykyiseen LVM:ään. Reilut 100 megaa riittää kyllä yhden jakelun /boot-osiolle, kun muistaa siivota ylimääräiset kernelit pois.
-
Silloin vaihtoehdoksi jää nykyisen boot-osion pienentäminen siten, että sen viereen mahtuu uuden asennuksen boot-osio. Uuden asennuksen voi sijoittaa nykyiseen LVM:ään. Reilut 100 megaa riittää kyllä yhden jakelun /boot-osiolle, kun muistaa siivota ylimääräiset kernelit pois.
No niinpä tietysti. Siinä mulla on ollut ajatussolmu. Kiitos nm.
/boot-osion pilkkominen ei tullut mieleen siksi että ihan hiljattain siellä oli neljä kerneliä kamppeineen, ja jouduin sitä putsaamaan että sain päivitykset asennettua. Mutta nyt kun otit sen esille, niin tottakai, jos kerran haluan pystyä rinnakkaisasennukseen, niin kyllä silloin pitää osata myös pitää kerneleiden määrä kurissa.
Sitäpaitsi pelkkä /boot/grub ei paljoa vaadi.
$ du -hs /boot/grub
6,8M /boot/grub
-
Ei ehkä auta tähän ongelmaan mutta jos man-sivua ei ole niin silloin kannattaa kokeilla infoa joka löytyy myös os-proberille. Info on vielä laajempi kuin man-sivut ja lähes kaikille ohjelmille on infoa, ei ole ainakaan itselle tullut vastaan ohjelmaa ettei olisi. info os-prober
Eipä löydy infollakaan lisätietoa os-proberille, joten jotain ilmeisesti pitäisi asentaa lisää. Sitäpaitsi luen sivuja mieluummin netistä (http://manpages.ubuntu.com/), eikä infolle löydy vastaavaa lähdettä.
Mutta os-prober ei nyt ole se mitä olen hakemassa, vaan olen ihan ymmyrkäisenä siitä missä manuaalissa tai infossa mahdetaan kertoa kernel-komentorivin parametrit "cryptdevice" ja "cryptopts", joihin monessa ohjeessa viitataan.
ArchLinux -wikistä kyllä löyty vaikka mitä, mutta kun kyse voi olla asioista jotka riippuvat Linux-julkaisusta (http://stackoverflow.com/questions/27714575/undocumented-kernel-boot-parameter), haluaisin löytää oikean lähteen.
-
Kernelin parametreista löytyy juttua tuolta https://www.kernel.org/doc/Documentation/kernel-parameters.txt
Myös Gentoon wiki hyvä tietolähde.
Kerneli on hieman eri kuin initrd ja sen parametrit
Aina voit ladata kernelin lähdekoodin ja kääntää sen. Silloin ainakin tietää mitä on käännetty mukaan ja mitä jätetty pois. Kernelin lähdekoodi lähestyy yhtä gigaa,
mutta nykykoneet kääntää sen alle 10 min kun jättää turhat pois. Ihan varma en
ole voiko initrd:n jättää pois kun käytössä on salattuja osioita. Muuten initrd on turha jos kaikki tarpeellinen löytyy kernelistä. Tuossa säästää taas /boot osion koossa.
-
Kerneli on hieman eri kuin initrd ja sen parametrit
Aivan, siinä se ongelma onkin. Grub-ohjeissa puhutaan väljästi komentoriviparametreista, mutta tuo edellisen viestin "riippuvat Linux-julkaisusta" -linkki paljastaa myöskin sen että komentorivin parametrit jakautuvat monelle eri ohjelmalle, kernel ei ole ainoa joka niitä lukee. Mutta vaikka kuinka yritän kaivaa, en ole saanut edes selville minkä niminen ohjelma on se joka itselleen nappaa esim. tuon cryptdevice-parametrin. Kernelin parametri se ei ole, enkä löydä siitä mainitaa myöskään muualta.
Näistä olen osannut etsiä, mutta en löytänyt:
kernel-command-line
bootparam
dracut.cmdline
initramfs-tools
Mitä muuta vielä mun pitäisi osata etsiä että löytäisin?
-
Selailin Gentoon Luks ohjetta. Initrd:n voi tehdä useammalla työkalulla ja Grubin parametrit näköjään hieman vaihtelee miten Initrd on tehty. Gentoo käyttää vielä oletuksena OpenRC eikä Systemd kuten Ubuntu. Gentoo on siitä kiva, että jos sen saa asennettua niin hyvin hoidettuna se pelaa sitten vuosia. Koska useimmat Kernelin osat käännetään moduleiksi Initrd:tä tarvitaan liittämään levyt ja lataamaan tarvittavat osat muistiin. Itselläni on htpc:ssä itse käännetty kerneli ja ei ollenkaan initrd:tä koska ext4, xfs, alsa, .. tarpeellinen on käännetty kerneliin sisälle. Tilan säästö on huomattava.
Ubuntussa kuitenkin toimiva asennusohjelma. Antaa sen tehdä asetukset.
-
Tässä on ketjun ensimmäisen postauksen päivitetty versio:
Tavoite on asentaa koneella olevan salatun Ubuntu-asennuksen rinnalle toinen Ubuntu (tai joku muu Linux), sekin salattuna. Esteenä on Ubiquity, joka ei tue salattuja rinnakkaisasennuksia; yhden salatun asennuksen se tekee, mutta seuraavan asennuksen voi tehdä vain vanhan päälle, joten uusia julkaisuja voi kokeilla vain asennustikulta.
Internetin lähteistä opittua:
- Salatun Ubuntun asennus toisen Ubuntun rinnalle, eri osiolle (http://askubuntu.com/questions/293028/how-can-i-install-ubuntu-encrypted-with-luks-with-dual-boot) on mahdollinen, mutta LUKS-säiliön koon muuttaminen (https://help.ubuntu.com/community/ResizeEncryptedPartitions) osiointia varten on liian vaikeaa.
- Eri osiolle asennus vaatisi ensiksi asennetun Ubuntun tuhoamisen uudella osioinnilla, ja sen jälkeen ensimmäinenkin asennus olisi yhtä hankalaa kuin toisen.
- (Lisää taltioryhmään uusi salattu osio (https://www.howtoforge.com/encrypted-root-lvm) neuvoo asennusohjeessa mainitun cryptroot-asetuksen tarkistamisen initrd.img:n sisältä, ja miksi initrd sisältää vain 'kernel'-hakemiston? (http://unix.stackexchange.com/questions/163346/why-is-it-that-my-initrd-only-has-one-directory-namely-kernel) täydentää tarkistusta.)
- Useamman Linux-julkaisun asennus samaan LUKS-säiliöön (http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive) ei ole yhtään vaikeampaa kuin eri osiolle (ja ohje on paremmin laadittu).
- Salaus vaikeuttaa rinnakkaisasennusta ihan riippumatta siitä asennetaanko uusi Linux samaan LUKS-säliöön vai eri osiolle.
- Mint ja /boot salattuna UEFI-koneella (http://community.linuxmint.com/tutorial/view/2061) jättää vain Grubin salaamatta.
- Ensimmäisenkin /boot-osion voi siirtää salatulle osiolle (http://missinglink.xyz/security/tutorial-debianubuntu-full-disk-encryption-luks-fde-including-encrypted-boot) (ja avaintiedoston voi lisätä (http://missinglink.xyz/security/tutorial-debianubuntu-full-disk-encryption-luks-fde-including-encrypted-boot/improved-full-disk-encryption-add-luks-key-file-initrdinitramfs/)) jälkikäteen.
- Rinnakkaisasennuksen ohjeissa neuvotaan aina viemään grub salaamattomalle boot-osiolle, eikä paraskaan /boot-hakemiston salausohje ota rinnakkaisasennusta huomioon. Tämän viimeisen solmun avasi nm (http://forum.ubuntu-fi.org/index.php?topic=49993.msg383037#msg383037).
- Ensimmäinen asennuksen /boot-osiolla on tilaa neljälle ytimelle, joten siitä voi lohkaista osan uutta käynnistysosiota varten.
- Tilaa ei edes tarvita kokonaiselle /boot-osiolle, vaan pikkuruinen uusi /boot/grub riittää.
- Rinnakkaisasennuksen harjoittelua ei tee mieli aloittaa osioinnilla, joka heti tuhoaa ensimmäisen asennuksen.
- Kun toinen Linux ja sen /boot asennetaan samaan LUKS-säiliöön, ensiksi asennettu Ubuntu pysyy käytössä koko ajan, vaikka rinnakkaisasennuksen harjoittelu kestäisi pitkäänkin.
- Rinnakkaisasennuksen yrityksen voi myös purkaa pois niin, että ensiksi asennettu Ubuntu pysyy käytössä koko ajan.
- Tuhoava osiointi tarvitaan vasta kun todella halutaan erilliset salatut osiot (tai enemmän kuin kolme asennusta) – ja sen voi lykätä kunnes salattu rinnakkaisasennus on kunnolla harjoiteltu.
- Windows ja Mint salattuna rinnakkain (http://thornton2.com/Encrypted_PC_Triple_Boot_with_BitLocker_and_LUKS_Howto) ja sama avaintiedoston kanssa (http://thornton2.com/Encrypted_PC_Triple_Boot_with_BitLocker_LUKS_and_Key_Files_Howto) kannatti lukaista ihan vertailun vuoksi.
Yhteenveto: - Rinnakkainen Linux ja sen /boot on helpointa asentaa samaan LUKS-säiliöön, jossa ensiksi asennettu Ubuntu jo on.
- Vaikka Ubiquity ei sellaisenaan taivu salattuun rinnakkaisasennukseen, sen tuotosta voi viimeistellä – jos osaa.
Kone jolle asennusta suunnitellaan: - Kovalevyllä /dev/sda on Ubuntu 15.10 -asennuksen luomat osiot:
- sda1 : ensisijainen osio (ext2; 236 M; /boot-osio)
- sda2 : laajennettu osio
- sda5 : looginen osio,
- jossa on LUKS-säiliö,
- jossa on fyysinen taltio,
- joka kuuluu taltioryhmään "ubuntu-vg",
- jossa on loogiset taltiot root (ext4) ja swap_1 (swap).
- Koneessa on BIOS, ilman UEFI-valmiutta.
Ensiksi asennetun Ubuntun asetuksissa ei ole kaikkea mitä ohjeissa neuvotaan, ja ohjeet ovat muutenkin ristiriitaisia.
- Tiedosto /etc/crypttab mainitaan kaikissa ohjeissa.
- Tiedostossa viitataan fyysiseen taltioon (sekä ohjeissa että ensiksi asennetussa Ubuntussa), ja muut yksityiskohdat ohjeissa eroavat vain vähän.
- Kun rinnakkaisasennus tehdään samaan LUKS-säiliöön, ensimmäisen asennuksen /etc/crypttab kelpaa sellaisenaan toiseen asennukseen; vain avaintiedoston lisäys muuttaa sitä.
- Tiedosto /etc/initramfs-tools/conf.d/cryptroot mainitaan vain yhdessä ohjeessa (asennus eri osiolle), joka neuvoo fyysiseen taltioon viittaavan asetuksen.
- Ensimmäisen asennuksen /etc:n alta tällaista tiedostoa ei löydy ollenkaan, mutta sen initrd.img kuitenkin sisältää tiedoston conf/conf.d/cryptroot, ja se viittaa loogisiin taltioihin.
- Jos rinnakkaisasennus tehdään samaan LUKS-säiliöön, niillä on yhteinen fyysinen taltio, mutta erilliset loogiset taltiot (ainakin erillinen juuritaltio; swap voi olla yhteinen, jos salaus estää lepotilan käytön). Ensiksi asennetun Ubuntun asetus vaikuttaa siis paremmalta kuin ohjeessa annettu.
- Jos toista asennusta varten luodaan erillinen fyysinen taltio, ristiriitaa ei ole. Mutta fyysinen taltio on LUKS-säiliö, jonka kutistaminen on liian vaikeaa, joten tämä vaatisi kokonaan uuden osioinnin.
- Tiedostoon /etc/default/grub lisättävät salaukseen liittyvät asetukset ovat joka ohjeessa täysin erilaiset.
- Salatun Ubuntun asennus toisen Ubuntun rinnalle, eri osiolle (http://askubuntu.com/questions/293028/how-can-i-install-ubuntu-encrypted-with-luks-with-dual-boot) neuvoo lisäämään asetuksen joka viittaa fyysiseen taltioon.
- Mint ja /boot salattuna UEFI-koneella (http://community.linuxmint.com/tutorial/view/2061) neuvoo lisäämään asetukset joissa viitataan fyysiseen taltioon hieman eri tavalla.
- Useamman Linux-julkaisun asennus samaan LUKS-säiliöön (http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive) neuvoo vain lataajien ketjutuksen, mutta ei neuvo lisäämään mitään salaukseen liittyvää. Myöskään ensimmäisen asennuksen /etc/default/grub ei sisällä mitään salaukseen liittyvää.
Mitkä asetukset ovat vaihtoehtoja, mitkä toistensa täydennyksiä? - Tiedostojen /etc/crypttab ja /etc/initramfs-tools/conf.d/cryptroot asetukset viedään alkumuistiin (initramfs).
- Asetuksen GRUB_CMDLINE_LINUX perusteella alkulataaja (grub) lisää määritykset komentoriville parametreiksi.
- Vain fyysinen taltio on salattu; kun se on avattu, loogiset taltiot voi liittää ilman salausavainta.
Nettihaut avainsanoilla cryptroot, cryptdevice, cryptopts eivät paljsta minkäänalaista dokumentaatiota, joten asetusten käyttö voi muuttua julkaisusta toiseen.
Jos nyt mitään mistään ymmärrän, asetukset kannattaisi päättää sen mukaan, vaativatko uuden asennuksen crypttab ja cryptroot korjaamista – hyvässä lykyssä ei mitään.
- Tarkista tekeekö uusi asennus tiedoston /etc/crypttab.
- Tarkista tiedosto conf/conf.d/cryptroot uuden asennuksen initrd.img:n sisällä.
Katso ihan ensin millä komennolla ensiksi asennettu Ubuntu käynnistetään.
$ cat /proc/cmdline
BOOT_IMAGE=/vmliz-4.2.0-23-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash
Valittavat vaihtoehdot:
- Jos /etc/crypttab puuttuu, kopioi ensimmäisen asennuksen /etc/crypttab sellaisenaan toisen asennuksen juuritaltiolle.
- Jos cryptroot sisältää kummankin asennuksen loogiset taltiot, kirjoita karsittu /etc/initramfs-tools/conf.d/cryptroot jossa on vain toisen asennuksen tarvitsemat taltiot.
- Jos cryptroot puuttuu kokonaan, kopioi ensimmäisen asennuksen cryptroot tiedostoksi /etc/initramfs-tools/conf.d/cryptroot, ja korjaa loogisten taltioiden nimet sen sisällä.
- Toinen vaihtoehto on lisätä taltioiden määritys grub-asetuksiin.
Esimerkiksi grub-asetuksista:
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:sda5_crypt root=/dev/mapper/ubuntu--vg-root2 ro resume=/dev/mapper/ubuntu--vg-swap2"
Asennuksen päävaiheet kun asennetaan toinen Ubuntu samaan LUKS-säiliöön:
- Valmistaudu rinnakkaisasennukseen ensiksi asennetun Ubuntun sisällä.
- Varmista että käynnistysosiolla on riittävästi tilaa; tarvittaessa poista vanhoja ytimiä.
- Lisää ketjulataus alkulataajan (grub) asetuksiin kaiken varalta.
- Varmuuskopioi ainakin kotihakemistot ja /etc.
- Kopioi keskeiset asetukset (crypttab, yms.) erikseen helposti saataville.
- Käynnistä kone asennustikulta, valitse "Kokeile Ubuntua" ja suorita kaikki asennusvaiheet sen sisällä.
- Muokkaa osiointia.
- Kutista ensimmäisen asennuksen /boot-osiota (/dev/sda1).
- Lisää toisen asennuksen /boot/grub-osio (/dev/sda3) vapautuneeseen tilaan.
- Muokkaa loogisia taltioita salatulla osiolla.
- Kutista ensimmäisen asennuksen juuritaltiota.
- Lisää toinen juuritaltio.
- Lisää jaetulle datalle oma taltio.
- Säilytä swap-taltio (yhteinen riittää, jos salaus estää lepotilan käytön).
- Tässä välissä kannattaa käynnistää kone ilman asennustikkua ja tarkistaa että ensiksi asennettu Ubuntu käynnistyy ja toimii edelleen, ja sitten käynnistää kone uudelleen asennustikulta kokeilu-Ubuntuun.
- Käynnistä Ubiquity.
- Valitse asennustyyppi "Jokin muu vaihtoehto".
- Poimi asennukselle varatut loogiset taltiot.
- Vie grub uudelle käynnistysosiolle (/dev/sda3).
- Valitse "Jatka testaamista" asennuksen lopussa.
- Viimeistele asennus uudella juuritaltiolla.
- Tarkista fyysisen taltion määritys salattujen osioiden liitostaulussa. Kopioi ensimmäisen asennuksen crypttab, jos uuden asennuksen liitostaulu ei ole valmiiksi oikein.
- Lisää LUKS-säiliölle avaintiedosto. Tämän voi tehdä myöhemminkin; avaintiedoston puuttuessa joudut vain syöttämään LUKS-säilön salasanan kahteen kertaan.
- Tarkista loogisten taltioiden määritykset ja vertaa ensiksi asennetun Ubuntun asetuksiin. Jos cryptroot ei ole valmiiksi oikein, kirjaa loogisten taltioiden määritykset joko alkumuistin tai alkulataajan asetuksiin.
- Muokkaa alkulataajan asetuksia, jos haluat ketjutuksen.
- Päivitä asetusmuutokset chroot:lla alkumuistiin (initramfs) ja alkulataajaan (grub), jos niiden asetuksia muutettiin.
- Käynnistä kone uudelleen ilman asennustikkua.
Jatkossa
- Salatun Linuxin päälleasennus vaatii aina saman viimeistelyn niin kauan kun rinnakkaisuus säilytetään.
- Salaukseen liittyvien asetusten tekotapa saattaa muuttua missä tahansa julkaisussa.
Tämä on siis suunnitelma. Alan olla valmis kokeilemaan asennusta käytännössä.
-
Kumpikin etukäteispelko on toteutunut.
1) Grub on vaikea.
Jos haluan lisätä käynnistysparametreja komentoriville GRUB_CMDLINE_LINUX-säädöllä, asennuksilla pitää olla erilliset ketjuladatut grubit.
Kun lisäsin os-proberin eston ekan Ubuntun grubiin ketjutusta varten, kesti aikansa ennen kuin tajusin että update-grub lisää silti toisenkin asennuksen samaan valikkoon, ilmeisesti siksi että se nyt vaan sattuu olemaan samalla levyllä. Kun kokeilin käynnistää uuden Ubuntun sitä kautta, totesin että ekan Ubuntun grubiin täytyy lisätä GRUB_ENABLE_CRYPTODISK, jolloin salasana kysytään jo ennen grub-valikkoa. Kun grubista sitten valitsee uuden Ubuntun suoraan, ilman ketjutusta, se kysyy Plymouth-ikkunassa salasanaa, kuten pitääkin (kun salasanatiedostoa ei ole vielä asetettu), mutta siitä en ole vielä päässyt eteenpäin.
Joka tapauksessa toinen Ubuntu vaatii jonkun tavan määritellä minkä juuritaltion se ottaa käyttöön; kahden asennuksen taltiot eivät saa mennä sekaisin keskenään. Jos sen saisi tehtyä ilman GRUB_CMDLINE_LINUX-säätöä, pikkuistakaan /boot/grub-osiota ei tarvittaisi ollenkaan, mutta toistaiseksi olen jumissa.
Jos taas GRUB_CMDLINE_LINUX-säätö on ainoa keino valikoida oikeat loogiset taltiot LUKS-säiliön sisältä, ketjulataus vaatii toisen grubin asennuksen jonnekin, mutta grubin asennus osiolle joka ei ole levyn alussa tuntuu olevan ihan oma taiteenlajinsa. En ole vielä saanut sitä toimimaan.
2) Salaukseen liittyviä asetuksia ei ole dokumentoitu.
Kun yritän tehdä salauksen asetuksia ilman grub-säätöä, käy ilmi että blogeista poimitut ohjeet eivät toimi, enkä pääse mistään dokumentaatiosta tarkistamaan miten ne pitää tehdä juuri Ubuntulle.
-
Olen sitten jatkanut opiskelua, ja olen nyt päässyt niin pitkälle että sain samaan LUKS-säiliöön asennetun Ubuntun käyntiin. Vielä on jäljellä se ongelma, miten saan sen kysymään LUKS-salasanaa vain kerran. Netin ohjeet kun ei tunnu toimivan Ubuntun kanssa.
Ratkaisu ei lopulta vaatinut grubin ketjulatausta. Mainitsin jo aikaisemmin että vaikka laittaisin ekan Ubuntun grub-asetuksiin GRUB_DISABLE_OS_PROBER -asetuksen, niin silti update-grub lisäsi toisenkin asennuksen samaan valikkoon. Niinpä jätin uuden /boot-osion kokonaan luomatta. En siis jakanut vanhaa /boot-osiota kahtia, enkä edes lohkaissut pientä tilaa /boot/grub-hakemistolle. Asensin vaan toisen Ubuntun niin että /boot ei ole erillään, vaan /-juuren alla LUKS-säiliössä.
Syy miksi aikaisemmin en saanut muuten ihan oikein asennettua Ubuntua käyntiin oli se, että olin erehtynyt asennuksen edellä avaamaan LUKS-säiliön väärin - klikkasin kuvaketta käynnistinpalkissa sen sijaan että olisin avannut sen komentoriviltä, jolloin se tulee avatuksi oikealla nimellä. Tämän virheen takia update-initramfs ei saanut tehdyksi työtä käskettyä.
Molemmat asennukset siis käynnistyvät nyt ensiksi asennetun Ubuntun grub-valikosta, siis yhdestä yhteisestä. Aika rumaa jälkeä update-grub tekee kun se lisää sen toisen Ubuntun mukaan. Täytyy jostain vielä kaivaa lisätietoa miten sitä siistitään. Jouduin lisäämään asetuksiin tämän:
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:sda5_crypt"
mutta en mitään mikä olisi näille kahdelle asennukselle eri tavalla, eikä ketjutusta siis tarvittu.
Nyt kun nuo asetukset on lisätty, LUKS-säiliötä avataan kahteen kertaan - ensin grub-asetusten takia, ja sitten grubin käynnistämä Ubuntu kysyy sitä vielä uudelleen. Paitsi että ensiksi asennetun Ubuntun tapauksessa eka kysymys ei edes tule, vaan tulee virhe joka pitää kuitata jollain näppäimellä, ja sitten tulee normaali salasanakysymys samannköisenä kuin ennen. Mutta toiseksi asennettu Ubuntu kysyy salasanan rumasti kahteen kertaan, eikä kumpikaan kerta näytä samalta kuin se johon olen tottunut.
Ja vaikka kuinka yritän lisätä avaintiedostoa jolla toinen kysymys vältettäisiin, netin hienot neuvot eivät toimi. Jokainen Linux toimii tässä asiassa eri tavalla. Olisi kiva tietää miten se homma on tehty tän ensiksi asennetun Ubuntun kanssa. Se kun toimii niin tyylikkäästi ilman noita grub-asetuksia. Ainakin huomasin (komennolla cryptsetup luksDump) että LUKS-säiliölle on jo valmiiksi asetettu kolme salasanaa, ja mun lisäämä avaintiedosto on neljäs (eli slot 3).
Kirjoittelen selkeämmän sepustuksen jahka jaksan.
-
Kertaus:
Ennalta päätetty vaatimus on salata sekä tiedot että asennukset jokaisella kannettavalla tietokoneella. Tavoite on asentaa koneella olevan salatun Ubuntun rinnalle toinen salattu Ubuntu tai muu Linux. Esteenä on asennusohjelma (Ubiquity), joka ei tue salattuja rinnakkaisasennuksia; yhden salatun asennuksen se tekee, mutta seuraavan asennuksen voi tehdä vain vanhan päälle, joten uusia julkaisuja voi kokeilla vain asennustikulta.
Ratkaisu on helpompi kuin miltä aluksi näytti.
Kone jolle asennusta suunnitellaan:
Kovalevyllä /dev/sda on Ubuntu 15.10 -asennuksen luomat osiot:
sda1 : ensisijainen osio (ext2; 236 M; /boot-osio)
sda2 : laajennettu osio
sda5 : looginen osio, jossa on LUKS-säiliö, jossa on fyysinen taltio, joka kuuluu taltioryhmään "ubuntu-vg",
jossa on loogiset taltiot root (ext4) ja swap_1 (swap).
Koneessa on BIOS, ilman UEFI-valmiutta.
Asennuksen päävaiheet kun asennetaan toinen Ubuntu (tai muu Linux) samaan LUKS-säiliöön:
- Ota riittävän kattavat varmuuskopiot ensiksi asennetun Ubuntun puolella.
Kopioi keskeiset asetukset (/etc/crypttab, yms.) erikseen helposti saataville. - Asenna toinen Ubuntu tai muu Linux samalle salatulle osiolle.
- Käynnistä kone asennustikulta ja valitse "Kokeile Ubuntua" (tai muun Linuxin vastaava).
- Muokkaa salatun osion jakoa loogisiin taltioihin.
- Avaa LUKS-säiliö (cryptsetup luksOpen) ja LVM-muokkaus (vgscan && vgchange -ay).
- Kutista ensimmäisen asennuksen juuritaltiota (lvreduce --resizefs).
- Lisää toinen juuritaltio (yhteinen swap riittää, jos salaus estää lepotilan käytön).
- Lisää jaetulle datalle oma taltio; varaa sille kaikki jäljellä oleva tila (lvcreate -l 100%FREE).
- Sulje LVM-muokkaus (vgchange -an).
- Tarkista että ensiksi asennettu Ubuntu käynnistyy ja toimii edelleen.
Käynnistä kone ilman asennustikkua ja kirjaudu sisään. - Palaa takaisin.
- Käynnistä kone asennustikulta.
- Avaa LUKS-säiliö komentoriviltä (cryptsetup luksOpen /dev/sda5 sda5_crypt).
Jos avaat LUKS-säiliön täppäämällä käynnistinpalkin kuvaketta, se avataan väärällä nimellä.
- Käynnistä Ubiquity (tai vastaava).
- Valitse asennustyyppi "Jokin muu vaihtoehto".
- Poista käytöstä ensiksi asennetun Ubuntun käytössä olevat taltiot ja käynnistysosio.
- Poimi käyttöön asennukselle varatut loogiset taltiot.
- Osoita grub kohteeseen jossa sen asennus varmasti epäonnistuu (eli mikä tahansa muu kuin /dev/sda).
- Valitse "Jatka testaamista" asennuksen lopussa.
- Kun grub-asennus epäonnistuu, jatka ilman alkulatausohjelmaa.
- Jos ponnahdusikkuna jää jumiin, pienennä Ubiquity taustalle.
- Viimeistele asennus uudella juuritaltiolla.
- Kopioi /etc/crypttab ensimmäisen asennuksen juuritaltiolta toisen asennuksen juuritaltiolle; liitä taltiot siksi aikaa.
- Päivitä initramfs chroot:lla.
- Käynnistä kone ilman asennustikkua.
- Varmista toisen Linuxin käynnistyminen.
- Kirjaudu ensiksi asennettuun Ubuntuun.
- Lisää tiedostoon /etc/default/grub asetukset GRUB_ENABLE_CRYPTODISK=y ja GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda5:sda5_crypt".
Asetuksen GRUB_ENABLE_CRYPTODISK arvon pitää olla nimenomaan "y". Jos arvo on väärä, saat virheilmoituksen jonka mukaan sen pitäisi olla "1". - Päivitä grub ja käynnistä kone uudelleen.
Päivitys lisää uuden asennuksen samaan valikkoon, vaikka GRUB_DISABLE_OS_PROBER olisikin asetettu. - Kirjaudu juuri asennettuun Linuxiin.
Joudut syöttämään LUKS-salasanan kahteen kertaan. - Lisää avaintiedosto (ensiksi asennettu Ubuntu ei tarvitse sitä).
- Luo avaintiedosto (dd if=/dev/urandom) ja
- aseta sen suojaus (chmod u=r,go=),
- lisää uusi avain LUKS-säiliön asetuksiin (cryptsetup luksAddKey),
- kirjoita komentotiedosto avaintiedoston lataamiseen ja
- aseta sen suojaus (chmod +r),
- muokkaa /etc/crypttab viittaamaan avaintiedostoon,
- päivitä initramfs,
- ja käynnistä kone uudelleen.
- Ota uusi data-taltio käyttöön kummassakin asennuksessa.
Yhteenveto kaikkein typerimmistä kompastuskivistä:
- LUKS-säiliö on avattava komentoriviltä juuri oikealla tavalla. Jos sen avaa käynnistinpalkin kuvaketta täppäämällä, homma ei toimi oikein.
- Tunnettu vika (https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1481536) "Wily Werewolf" -julkaisussa aiheutti ylimääräisiä varoituksia joiden ihmettelyyn meni aikaa.
- Asetuksen GRUB_ENABLE_CRYPTODISK arvon pitää olla nimenomaan "y". Jos arvo on väärä, saat virheilmoituksen jonka mukaan sen pitäisi olla "1".
- Lähteessä neuvottiin tiedoston /crypto_keyfile.bin suojauksen asetus väärin.
Lisäksi lähteissä oli paljon täysin tarpeetonta roskaa. Kaikkein arvokkain lähde oli http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive. Kaiken kaikkiaan vaaditut työvaiheet ovat vieläkin helpommat kuin miltä aluksi näytti.
Nyt on enää jäljellä grub-valikon siistiminen, mutta se ei kuulu tämän otsikon alle.