Kirjoittaja Aihe: Ubuntu 14.04:n siirto uudelle ssd:lle  (Luettu 4355 kertaa)

jarmala

  • Käyttäjä
  • Viestejä: 790
    • Profiili
Ubuntu 14.04:n siirto uudelle ssd:lle
« : 22.01.16 - klo:19.15 »
Hankin uuden 120 GB ssd:n, jolle olisi tarkoitus siirtää (lue: kopioida) käytössä oleva 14.04. Olen kahlannut läpi täällä olevia aiempia keskusteluja aiheesta, mutta varmistukseksi kysynkin silti: Miten siirron fiksuimmin tekisi?

Levyt ja osiot ovat ennen mitään muutoksia seuraavasti:

Koodia: [Valitse]
ari@ari:~$ sudo fdisk -l /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 päätä, 63 sektoria/ura, 30401 sylinteriä, yhteensä 488397168 sektoria
Yksiköt = 1 * 512 = 512 -tavuiset sektorit
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Levyn tunniste: 0x00041975

    Laite Käynn     Alku          Loppu    Lohkot   Id  Järjestelmä
/dev/sda1   *        2048     3905535     1951744   83  Linux
/dev/sda2         3907582   488396799   242244609    5  Laajennettu
/dev/sda5         3907584    52733951    24413184   83  Linux
/dev/sda6       476678144   488396799     5859328   82  Linux-sivutus / Solaris

ari@ari:~$ sudo fdisk -l /dev/sdc

VAROITUS: GPT (GUID Partition Table) havaittu laitteella ”/dev/sdc”! Fdisk ei tue GPT:tä. Käytä GNU Partediä.


Disk /dev/sdc: 3000.6 GB, 3000592982016 bytes
255 päätä, 63 sektoria/ura, 364801 sylinteriä, yhteensä 5860533168 sektoria
Yksiköt = 1 * 512 = 512 -tavuiset sektorit
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Levyn tunniste: 0x00000000

    Laite Käynn     Alku          Loppu    Lohkot   Id  Järjestelmä
/dev/sdc1               1  4294967295  2147483647+  ee  GPT
Osion 1 alku ei ole fyysisen sektorin rajalla.

ari@ari:~$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 päätä, 63 sektoria/ura, 14593 sylinteriä, yhteensä 234441648 sektoria
Yksiköt = 1 * 512 = 512 -tavuiset sektorit
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Levyn tunniste: 0x0006ffc8

    Laite Käynn     Alku          Loppu    Lohkot   Id  Järjestelmä
/dev/sdb1            2048     6565887     3281920   83  Linux
/dev/sdb2         6565888    69914623    31674368   83  Linux
/dev/sdb3        69914624   234440703    82263040   83  Linux
ari@ari:~$

Eli siis sda1:lla on boot, sda5:llä root ja sda5:llä swap. sdc1:llä on home.
Haluaisin nyt siis kopioida bootin ja rootin uudelle ssd:lle ja pitää homen sdc:llä.
Kannattaako swap jättää edelleen sda:lle?

Miten kopioin bootin ja rootin ssd:lle niin, että ne toimivat kuten nyt, mutta kone käyttää niitä ssd:ltä? Umounttaanko bootin ja kirjoitan sen dd:llä sdb1:lle? Ja sama homelta sdb2:lle? Eh?

Joudun ilmeisesti puukottamaan grubia. Miten?
Ja varmaankin fstab:kin vaatii viritystä. Millaista?
Tai sitten: miten foorumin huippupätevät asiantuntijat tämän tekisivät?

T. Ari
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

lauritx

  • Käyttäjä
  • Viestejä: 270
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #1 : 22.01.16 - klo:22.21 »
Onnistusko että live ubuntulla käyntiin. Osioi sen sdd levyn samalla tavalla kuin lähdelevyn. 
Koodia: [Valitse]
sudo cp -a /dev/lähde /dev/kohde Toistaa joka osiolle ton saman. En oo testannu mutta pitäis toimia ja sen grubin voi asentaa uudestaan chroottina.
Siihen pitää mountata sys dev ja proc. Ohjeita on netissä
« Viimeksi muokattu: 22.01.16 - klo:22.32 kirjoittanut lauritx »

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #2 : 22.01.16 - klo:22.33 »
Hieman parempi ohje

Tarvitset ainakin Ubuntun asennusmedian (tai vastaavan). Jos levyt olisi identtiset kloonaus menisi helposti dd:llä.
df -h olisi kertonut osioiden koot. Pienellä levyllä /boot osio ei ole tarpeen.

Käynnistä kone asennusmedialla. root oikeudet saat sudo su -

Tee hakemistot /mnt/vanha ja /mnt/uusi  (mkdir).

Liitetään vanha levy
Koodia: [Valitse]
mount /dev/sda5 /mnt/vanha
mount /dev/sda1 /mnt/vanha/boot

Liitetään uusi levy
Koodia: [Valitse]
mount /dev/sdb2 /mnt/uusi
mkdir /mnt/uusi/boot
mount /dev/sdb1 /mnt/uusi/boot
 

Jos oikein ymmärsin sdb1 on boot ja sdb2 root.
Kopiointi menee ihan cp -a /mnt/vanha/* /mnt/uusi

-a vipu kopioi oikeudet, alihakemistot ym. vaihtoehtoisesti
käy vaikka -axv

Listaa levyjen UUID arvot
Koodia: [Valitse]
blkid
Editoi fstab
Koodia: [Valitse]
nano -w /mnt/uusi/etc/fstab
Ainakin /boot ja "/"pitää muuttaa. ja /home ja swap pitää ainakin
tarkistaa. Onnistuu päätteessä näppärästi jos toiseen välilehteen
avaa  blkid:n tulosteen ja kopioi arvot sieltä.

grubin korjaus onnistuu chrootin alla asennus medialla.
Asennusmedialla oli muistaakseni valinta käynnistä
ensimmäiseltä kiintolevyltä tai korjaa lataaja ym.. 
jos chroot on vieras voi käyttää myös tuota tai jotain
tarkoitukseen tehtyä levyä.

Edit. Oletan että uusi levy on osioitu ja tiedostojärjestelmät tehty.
Komennot tarvitsee sudo eteen jos ei root oikeuksia otettu käyttöön.
« Viimeksi muokattu: 22.01.16 - klo:22.37 kirjoittanut Postimies »

welmar

  • Käyttäjä
  • Viestejä: 1582
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #3 : 25.01.16 - klo:10.13 »
Tarvitset ainakin Ubuntun asennusmedian (tai vastaavan). Jos levyt olisi identtiset kloonaus menisi helposti dd:llä.
df -h olisi kertonut osioiden koot. Pienellä levyllä /boot osio ei ole tarpeen.
Luulen että tässkin tapauksessa dd:llä kloonaus onnistuisi. Kannattaisi ainakin ensin kokeilla sillä jos toimii niin ei ole mitään tarvetta fstabinmuokkaamiseen ja grubin asenteluun vaan dd ainoa tarvittava komento ja toimenpide. /boot osio on tapeen koska GPT osiotaulu.

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #4 : 25.01.16 - klo:10.42 »
/boot osio on tapeen koska GPT osiotaulu.

Legacy-tyyppisessä GPT-boottauksessa tarvittava BIOS boot partition on eri asia kuin /boot, joka saa sijaita myös juuriosiolla. UEFI-koneissa taas tarvitaan EFI-osio.

Jarmalalla on perinteinen MBR-osiotaulu, jossa tästä ei tarvitse huolehtia.



Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #5 : 25.01.16 - klo:19.10 »
Tarvitset ainakin Ubuntun asennusmedian (tai vastaavan). Jos levyt olisi identtiset kloonaus menisi helposti dd:llä.
df -h olisi kertonut osioiden koot. Pienellä levyllä /boot osio ei ole tarpeen.
Luulen että tässkin tapauksessa dd:llä kloonaus onnistuisi. Kannattaisi ainakin ensin kokeilla sillä jos toimii niin ei ole mitään tarvetta fstabinmuokkaamiseen ja grubin asenteluun vaan dd ainoa tarvittava komento ja toimenpide. /boot osio on tapeen koska GPT osiotaulu.
dd onnistuisi, mutta kannattaako? SSD-levyn geometria kuitenkin erilainen ja en nyt jaksa miettiä sitä - voi googlettaa aligning SSD partitions. Itse tipauttaisin /boot osion pois - ei tarvitse miettiä sen tilantarvetta. MBR-toimii ihan hyvin pikkulevyillä. cp -a toimii ihan hyvin, kun koneen käynnistää jollain asennusmedialla. Fstab tiedostoon voi laittaa hyvin myös /dev/sda1  /  ext4  noatime    0 1. discard on melko turha. Jos muistia reippaasti voi jotain pistää muistiin esim.
none            /var/tmp        tmpfs   size=4048M,noatime      0 0

dd erikokoisilla levyillä voi vaatia osiotaulun korjailua tai pientä etukäteissäätöä eli pienennetään osioita ennen kloonaamista. dd if=/dev/sdX of=/dev/sdY on vaarallinen komento. Suosittelen tar/dar paketin ottamista talteen systeemistä. DD poistaa oikeasti levyn sisällön. cp -a kopio - vikaan voi mennä - mutta ei saa täydellistä tuhoa aikaiseksi.

jarmala

  • Käyttäjä
  • Viestejä: 790
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #6 : 10.02.16 - klo:06.41 »
No nyt kokeilin sdd-levyä: kopioin vanhat boot ja root ssd:lle. Editoin sinne fstab:iin ssd-levyn boot ja root -osiot. Ja sitten sudo update-grub.

Koodia: [Valitse]
ari@ari:~$ sudo update-grub
Generating grub configuration file ...
Varoitus: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Linux-levykuva löytyi: /boot/vmlinuz-3.13.0-77-generic
Löytyi initrd-levykuva: /boot/initrd.img-3.13.0-77-generic
Linux-levykuva löytyi: /boot/vmlinuz-3.13.0-76-generic
Löytyi initrd-levykuva: /boot/initrd.img-3.13.0-76-generic
Linux-levykuva löytyi: /boot/vmlinuz-3.13.0-74-generic
Löytyi initrd-levykuva: /boot/initrd.img-3.13.0-74-generic
Linux-levykuva löytyi: /boot/vmlinuz-3.13.0-73-generic
Löytyi initrd-levykuva: /boot/initrd.img-3.13.0-73-generic
Linux-levykuva löytyi: /boot/vmlinuz-3.13.0-71-generic
Löytyi initrd-levykuva: /boot/initrd.img-3.13.0-71-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
Löytyi Ubuntu 14.04.3 LTS (14.04) kohteella /dev/sdb2
valmis

Ja buuttaus. Mutta jotenkin tuntuu, että edelleenkin on käytössävanhan sda-levyn boot ja root:

Koodia: [Valitse]
/dev/sda1: UUID="8d917eb1-dc89-4b57-8521-0a0050c3c877" TYPE="ext4"
/dev/sda5: UUID="67ceedee-3bb6-45d1-8560-c483c5c984d1" TYPE="ext4"
/dev/sda6: UUID="df93df8e-b0a2-4d15-9b8e-019688d591a6" TYPE="swap"
/dev/sdb1: UUID="2200006a-0f9d-44b5-a3e8-6e9c9c383319" TYPE="ext4"
/dev/sdb2: UUID="df040704-346d-4357-81b5-03c2b15b239e" TYPE="ext4"
/dev/sdb3: UUID="cde96957-d5de-4e2b-b27d-87e55b8d4c6a" TYPE="ext4"
/dev/sdc1: UUID="0b7685fd-103e-4b62-9c70-8c8adf53f82d" TYPE="ext4"


Tiedostojärjestelmä  Koko  Käyt Vapaa Käy% Liitospiste
udev                 1,8G   12K  1,8G   1% /dev
tmpfs                370M  1,1M  369M   1% /run
/dev/sda5             23G   17G  5,2G  77% /
none                 4,0K     0  4,0K   0% /sys/fs/cgroup
none                 5,0M  4,0K  5,0M   1% /run/lock
none                 1,9G  712K  1,9G   1% /run/shm
none                 100M   56K  100M   1% /run/user
/dev/sdc1            2,7T  1,4T  1,3T  52% /home
/dev/sda1            1,9G  715M 1019M  42% /boot
/dev/sdb2             30G   17G   12G  59% /media/ari/df040704-346d-4357-81b5-03c2b15b239e

Ja jos vertaa vielä fstabeja:

Koodia: [Valitse]
ari@ari:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sdb5 during installation
UUID=67ceedee-3bb6-45d1-8560-c483c5c984d1 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sdb1 during installation
UUID=8d917eb1-dc89-4b57-8521-0a0050c3c877 /boot           ext4    defaults        0       2
# /home was on /dev/sda1 during installation
UUID=0b7685fd-103e-4b62-9c70-8c8adf53f82d /home           ext4    defaults,noatime,nodiratime        0       2
# swap was on /dev/sdb6 during installation
UUID=df93df8e-b0a2-4d15-9b8e-019688d591a6 none            swap    sw              0       0


ari@ari:~$ cat /media/ari/df040704-346d-4357-81b5-03c2b15b239e/etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sdb5 during installation
UUID=df040704-346d-4357-81b5-03c2b15b239e /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sdb1 during installation
UUID=2200006a-0f9d-44b5-a3e8-6e9c9c383319 /boot           ext4    defaults        0       2
# /home was on /dev/sda1 during installation
UUID=0b7685fd-103e-4b62-9c70-8c8adf53f82d /home           ext4    defaults,noatime,nodiratime        0       2
# swap was on /dev/sdb6 during installation
UUID=df93df8e-b0a2-4d15-9b8e-019688d591a6 none            swap    sw              0       0

Niin eikös ne ole erilaiset? Miten siis saan tolkutetuksi grubille, että nyt pitäisi käyttää ssd:n osioita?

T. Ari
« Viimeksi muokattu: 10.02.16 - klo:06.44 kirjoittanut jarmala »
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #7 : 10.02.16 - klo:11.44 »
Jos haluat lopulta päästä vanhasta levystä kokonaan eroon tai muuttaa sen kakkoslevyksi/datavarastoksi, ensinnäkin Grubin alkulataaja kannattaisi asentaa SSD:lle. Sitten on vielä ajettava update-grub chrootissa, jotta grub.cfg tulee luotua oikein.

Koodia: [Valitse]
sudo mount /dev/sdb2 /mnt
sudo mount /dev/sdb1 /mnt/boot

sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

grub-install --boot-directory=/mnt/boot /dev/sdb

update-grub

exit

Sitten uudelleenkäynnistys ja vaihda levyjen boottijärjestys biosissa siten, että kone käynnistyy sdb:ltä, jos asensit alkulataajan sinne. Tai ota vanha levy kokonaan irti.


Sama onnistuu myös asennuslevyn livetilassa: http://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd
« Viimeksi muokattu: 10.02.16 - klo:11.54 kirjoittanut nm »

jarmala

  • Käyttäjä
  • Viestejä: 790
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #8 : 10.02.16 - klo:20.12 »
Jos haluat lopulta päästä vanhasta levystä kokonaan eroon tai muuttaa sen kakkoslevyksi/datavarastoksi, ensinnäkin Grubin alkulataaja kannattaisi asentaa SSD:lle.

Sorry, en ymmärrä ohjettasi. Mä oon ihan böbi.

En halua päästä vanhasta sda -levystä eroon. Ainakaan vielä. Haluan, että voin grubista valita, buuttaanko vanhalta sda:lta vai uudelta sdb:ltä. Ja niissä pitää olla ihan sama 14.04 LTS. Buuttiosiokin saa edelleen pysyä vanhalla sda1:llä ja swap sda6:lla. Enpä osannutkaan kuvitella, että tämä uuden levyn käyttöönotto osoittautuisi näin vaikeaksi.

Siis:

vanha  ==  uusi
sda1  ==  sdb1 (boot)
sda5  ==  sdb2 (root)
sdc1  ==  sdc1 (home)

Olen kopannut (cp -a) asennuslevyn livetilassa nuo vanhat osiot uuden levyn osioille. Ja nyt vaan pitäisi kyetä kertomaan grubille, että tekee kaksi buuttivaihtoehtoa valikkoonsa:

vanha: sda1, sda5 ja sdc1
uusi: sdb1, sdb2 ja sdc1

Olisi se vaan kiva päästä kokeilemaan, onko ss-levy niin nopea kuin on kehuttu...
« Viimeksi muokattu: 10.02.16 - klo:20.15 kirjoittanut jarmala »
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

nm

  • Käyttäjä
  • Viestejä: 16430
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #9 : 10.02.16 - klo:20.34 »
Jos haluat lopulta päästä vanhasta levystä kokonaan eroon tai muuttaa sen kakkoslevyksi/datavarastoksi, ensinnäkin Grubin alkulataaja kannattaisi asentaa SSD:lle.

Sorry, en ymmärrä ohjettasi. Mä oon ihan böbi.

En halua päästä vanhasta sda -levystä eroon. Ainakaan vielä. Haluan, että voin grubista valita, buuttaanko vanhalta sda:lta vai uudelta sdb:ltä. Ja niissä pitää olla ihan sama 14.04 LTS. Buuttiosiokin saa edelleen pysyä vanhalla sda1:llä ja swap sda6:lla. Enpä osannutkaan kuvitella, että tämä uuden levyn käyttöönotto osoittautuisi näin vaikeaksi.

Tässäkin tapauksessa voit suorittaa yllä esittämäni komennot. Jos jostain syystä et halua asentaa SSD:llä sijaitsevan Grubin lataajaa SSD:n MBR:ään (siitä ei ole haittaa), jätä grub-install suorittamatta.

Aja vielä lopuksi uudessa päätteessä nykyisen Grubin päivitys:

Koodia: [Valitse]
sudo update-grub
Se poimii sdb:ltä Ubuntun, kuten aiemmassa listauksessasi näkyy:

Lainaus
Löytyi Ubuntu 14.04.3 LTS (14.04) kohteella /dev/sdb2)

Erona on, että esittämäni operaation jälkeen tämä valinta toimii oikein.

Postimies

  • Käyttäjä
  • Viestejä: 2644
    • Profiili
Vs: Ubuntu 14.04:n siirto uudelle ssd:lle
« Vastaus #10 : 10.02.16 - klo:22.44 »
Jos vanha asennus säilytetään, niin riittää update-grub vanhassa asennuksessa. Se lisää uuden valikon. Kannattaa tarkistaa sen oikeellisuus.

Kun systeemi on käynnissä uudella levyllä, niin silloin voi asentaa grubin uudelle levylle ilman chroottia. chroot on hieman hankala aloittelijan ymmärtää.
Itse teen chrootin aina root-oikeuksilla ilman sudo-komentoa eli ensiksi sudo su -. chrootissa vaikuttaa myös onko käytössä systemd tai joku muu käynnistysjärjestelmä.

Kun uutta levyä päivitetään ongelmaksi muodostuu kernelin-päivitys. Silloin toisessa asennuksessa oleva grub ei päivity. Ongelman voi ratkaista parilla
tavalla. Helppo on käyttää linkkiä esim. linkki vmlinuz osoittaa käytössä olevaan kerneliin. Tuo vaatii pienen muokkauksen grubiin, mutta sen jälkeen ei tarvitse aina ajaa sitä update-grub toisessa systeemissä.