il mio pc non è proprio nuovissimo , un I7-3770K , scheda madre P8H77-M LE e 16Gb di ram che per l' epoca erano tanto e due dischi, un ssd samsung 850 evo da 500Gb aggiunto l' anno scorso e un hdd da 2T ...
mi sono ritrovato tra le mani un disco nvme da 250Gb , frutto dell' upgrade del mio portatile a 500Gb ed ero indeciso se farmi una pennetta usb ultraveloce o metterlo nel pc ....
alla fine ho deciso di ordinare su di uno shop online un adattatore nvme -> PCI-E
arrivato l' adattatore (dopo tanti ritardi e pacchi persi, il venditore che non voleva rimborsare, continuava a dirmi che era stato consegnato di chiedere al "local post office" e nexive che mi dice che lo aspettavano per 45 giorni fa ma non gli è mai stata affidata la spedizione .....)(ps. ne ho ordinato un secondo ....)
lo monto nel pc e ho conferma che il mio pc non fara il boot da questo disco, il bios non lo prevede .... quindi bisogna scegliere quale strada seguire .... ormai ho qualche anno di esperienza con grub, decido di seguire la strada 3 partizioni e bootloader su altro disco
una / che contiene tutto il SO sul disco nvme
una /boot sul disco SSD dove risiedera anche il bootloader
una /home sul disco SSD piu' capiente ....
ora il dilemma ... sposto il mio SO attuale (debian 10 frutto di vari upgrade) o riformatto e installo dall' inizio dovendo riconfigurare tutto ... non se ne parla, non ho nessuna voglia di passare le mie ferie a riconfigurare tutto!
vado quindi per i magheggi tra le partizioni senza perder dati ... si spera
creo la partizione sul disco nvme e inizio a copiare i dati dalle varie dir , /bin , /etc , /lib ... e cosi via ... ma anche noi informatici abbiamo tante cose da fare piu urgenti e per ora devo accantonare il progetto ...
riprendo dopo una settimana circa,
prendo la mia pendrive multiboot con dentro un po di tutto, tante live distro, fatta con ventoy e avvio una debian 10
gparted e inizio a ridimensionare sda1 , l' unica partizione che conteneva tutto , creo quindi un sda2 da adibire al boot di pochi Gb , e un sda3 per contenere la /home
dopo svariati spostamenti e resize arrivo alla situazione finale , piccola ricerchina su google con le parlole chiave
"grub install bind" , primo risultato
https://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd
anche se per ubuntu e per singola partizione è applicabilissimo a debian e piu' partizioni
tutti i comandi di seguito sono dati da root , se li date da utente normale dovete anteporre il sudo (se l' avete installato, su debian non è di default)
la prima cosa da fare è ottenere gli UUID delle partizioni
blkid /dev/nvme0n1: PTUUID="3d335257-c3cb-4371-a2c2-004ac85a4795" PTTYPE="gpt" /dev/nvme0n1p1: UUID="f2eff4c1-97aa-4d61-b482-3f1df4510c28" TYPE="ext4" PARTUUID="c1854a91-a118-f444-9c4c-d6bcc8211431" /dev/sda1: UUID="becd2833-4a08-4f58-b614-ef2bc587b0d0" TYPE="ext4" PARTUUID="4ee84134-01" /dev/sda2: UUID="8e44e514-99a1-4051-a46b-f9984227adfa" TYPE="ext4" PARTUUID="4ee84134-02" /dev/sda3: UUID="f65cea83-f527-47a5-89fe-77f3a0a8daf5" TYPE="ext4" PARTUUID="4ee84134-03" /dev/sdb1: UUID="7b561e10-f37c-4d89-b183-41bcf47b1b54" TYPE="ext4" PARTUUID="0002d8f4-01" /dev/sdb2: UUID="665529ce-2b29-4896-958e-aaf079a5da90" TYPE="ext4" PARTUUID="0002d8f4-02" /dev/loop0: TYPE="squashfs" /dev/loop1: TYPE="squashfs"
quindi ho costruito il nuovo /etc/fstab
UUID=f2eff4c1-97aa-4d61-b482-3f1df4510c28 / ext4 discard,noatime,errors=remount-ro 0 1 UUID=8e44e514-99a1-4051-a46b-f9984227adfa /boot ext4 discard,noatime,errors=remount-ro 0 1 UUID=f65cea83-f527-47a5-89fe-77f3a0a8daf5 /home ext4 discard,noatime,errors=remount-ro 0 1
sulla base di questo andiamo a montare le nostre partizioni sulla dir /mnt
mount /dev/nvme0n1p1 /mnt mount /dev/sda2 /mnt/boot mount /dev/sda3 /mnt/home
diamo un controllino al tree per vedere se è tutto corretto
aggiorniamo il nostro /mnt/etc/fstab per rispecchiare quanto fatto sopra
ora per completare la magia dobbiamo fare una chroot in modo che abbiamo una bash che pensa di esser su di un computer in / invece è su di /mnt/
dobbiamo quindi metter dentro alla nostra tree prima di fare la chroot un po di roba
mount --bind /dev /mnt/dev && mount --bind /dev/pts /mnt/dev/pts && mount --bind /proc /mnt/proc && mount --bind /sys /mnt/sys
in pratica stiamo passando i device e i processi della nostra live all' ambiente chroot per farlo sentire a casa sua
ora possiamo attivarlo
chroot /mnt
ci ritroveremo con un percorso che pensa di esser / ma in realta è dentro /mnt , cio' fa si che possiamo dare tutti i comandi che vogliamo e verranno applicati all' albero delle directory dentro /mnt
grub-install --boot-directory /boot --root-directory / /dev/sda grub-install --recheck /dev/sdX update-grub
in pratica con la prima riga reinstalliamo il bootloader, con la seconda eliminiamo la device map preesistente con la terza aggiorniamo il file grub.cfg per rispecchiare le modifiche fatte
sembra tutto finito, posso riavviare e godermi il nuovo disco ... e no ... le cose nons empre vanno cosi e complice l' ora tarda a cui lo sto facendo diventano ancora piu' difficili ....
il pc fa il boot , si blocca , dopo circa 200 secondi arriva alla schermata di login , metto la password ... e magia ... errore
could not sync environment to dbus
clicco su "okay" e rimane schermata nera ....
quindi ctrl-alt F1 e passoa riga di comando , inizio a guardare dentro /var/log .... vari errori di dbus .... dopo piu' di un ora atterro su
journalctl
e scorrendolo mi restituisce questa riga ....
dbus-daemon[2135]: /usr/bin/dbus-daemon: /lib/x86_64-linux-gnu/libdbus-1.so.3: version `LIBDBUS_PRIVATE_1.12.20' not found (required by /usr/bin/dbus-daemon)
il che mi punta alla dir /lib/x86_64-linux-gnu/ dove ci sono due file e un symlink , il symlink punta ad uno dei due file
strings libdbus-1.so.3.19.11 | grep 12 LIBDBUS_PRIVATE_1.12.16 01234567H libdbus 1.12.16 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz strings libdbus-1.so.3.19.13 | grep 12 LIBDBUS_PRIVATE_1.12.20 01234567H libdbus 1.12.20 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
mi rendo conto che il symlink sta puntando a quello sbagliato ... strano , ma è l' una passata di notte ... correggo il symlink e riavvio .... finalmente il desktop parte , non parte firefox e thunderbird ....
se lancio firefox da riga di comando ottengo ....
firefox Error: Platform version '68.11.0' is not compatible with minVersion >= 68.10.0 maxVersion <= 68.10.0
troppe volte mi sta dicendo che ho versioni sbagliate .... ma perchè le versioni sono sbagliate??? dopo qualche minuto mi si accende una lampadina , le dir diverse da /boot e /home sono quelle che ho copiato la settimana scorsa ...
lancio quindi una copia da sda1 che ha funzionato fino a stamane verso il disco nvme , riavvio e .... dopo il login non vado da nessuna parte ... è tardi sono stanco e decido di dormirci su ....
l' indomani mattina a mente fresca mi rendo conto che avendo copiato da sda1 , ho sovrascritto il file /tec/fstab con una versione che non ha la divisione su 3 partizioni ... sistemo la cosa e riavvio
finalmente funziona tutto .....
se me lo state chiedendo, il processo di avvio sembra piu' veloce , ma il resto sembra uguale a prima , devo indagare un po' meglio , capire se posso spostare la mia home sul disco nvme , ma prima devo capire cosa ci sia che mi fa occupare 200Gb nelle varie cartelle , cosa non uso piu , ad esempio delle immagini snap ....