⭐⭐Imatge de disc amb ‘dd’ vs ‘partclone’


📌 Què fa la comanda dd i com s’usa per fer una imatge de disc

dd és una eina clàssica de Linux que copia dades bit a bit (a nivell brut, sense interpretar el sistema de fitxers). És ideal per fer imatges exactes d’una partició o d’un disc sencer.

Exemple que vam utilitzar:

sudo dd if=/dev/sda4 of=/media/Miquel/backup/sda4_amd0.img bs=4M status=progress

Desglossament dels paràmetres:

ParàmetreSignificat
sudoExecuta amb permisos d’administrador (imprescindible per llegir el disc).
if=Input File → l’origen. Aquí /dev/sda4 (la partició que volem copiar).
of=Output File → la destinació. /media/Miquel/backup/sda4_amd0.img (el fitxer imatge al USB).
bs=4MBlock Size → mida de cada bloc de lectura/escriptura (4 MB). Aconsegueix un bon equilibri entre velocitat i memòria.
status=progressMostra en temps real el progrés, la velocitat i el temps transcorregut.

Què fa realment?

  • Llegeix la partició /dev/sda4 bloc a bloc i ho escriu tot al fitxer .img.
  • La imatge resultant és una còpia exacta de la partició (incloent-hi espai buit, sistema de fitxers, metadades…).
  • Es pot restaurar més endavant amb la mateixa comanda però invertint els paràmetres:sudo dd if=fitxer.img of=/dev/sda4 bs=4M status=progress

Aquí tens la comanda exacta de restauració:

sudo dd if=/media/Miquel/backup/sda4_amd0.img of=/dev/sda4 bs=4M status=progress

Recorda: executa-la des d’un USB en viu, amb sda4 desmuntada i verificant amb lsblk que of=/dev/sda4 és la partició correcta. 😉


⚠️ Avís important per al blog:

  • dd no comprova si la partició està muntada → fer-ho amb una partició en ús pot donar una imatge inconsistent o corrompre dades.
  • Molt perillós: si et confons en of=, pots sobrescriure un disc sencer. Sempre comprova els discs amb lsblk abans.
  • La imatge ocupa tota la mida de la partició, no només l’espai usat (en el nostre cas, 58G).

Aquí tens un resum clar i directe per al teu blog:


📌 partclone: copiar només l’espai usat (l’alternativa intel·ligent a dd)

Què és i què fa?

partclone és una eina de clonatge que només copia els blocs en ús d’una partició, ignorant l’espai buit. Això fa que les imatges siguin molt més petites i ràpides de crear que amb dd (que ho copia tot, fins i tot el buit).

  • Imatge dd: 58G (la partició sencera).
  • Imatge partclone: ~38G (només el que s’usa realment).

Com s’usa?

sudo partclone.ext4 -c -s /dev/sda4 -o /media/Miquel/backup/imatge.img
ParàmetreSignificat
partclone.ext4La variant per al sistema de fitxers ext4 (hi ha .xfs, .ntfs, .btrfs…).
-cClone → crear una imatge.
-sSource → partició d’origen (/dev/sda4).
-oOutput → fitxer de destinació.

Opcions útils:

  • -z → comprimeix la imatge (més petita, més lenta).
  • -N → interfície gràfica (ncurses) amb progrés visual.

Restauració:

sudo partclone.ext4 -r -s imatge.img -o /dev/sda4

⚠️ Per què NO ha estat possible en aquest cas?

Quan vam intentar fer la imatge de sda4, partclone va donar aquest error:

device (/dev/sda4) is mounted at /var
error exit

El motiu: partclone es nega a treballar amb particions muntades i en ús, perquè si hi ha escriptures mentre copia, la imatge quedaria inconsistent. Com que sda4 és la partició arrel (muntada a /, /var, /ostree…), i estàvem treballant des del mateix sistema, era impossible desmuntar-la.

En canvi, dd sí que ho va permetre perquè no comprova si la partició està muntada (tot i que ho fa amb cert risc d’inconsistència).

Solució per a partclone: cal fer-ho des d’un USB en viu (live), on sda4 no està muntada. Llavors partclone funciona sense problemes i amb la imatge més petita.


Si ho vols, et preparo també la part de comparació final dd vs partclone per tancar l’article. Vols?

⭐⭐GRUB a Deepin: configurar el temps del menú d’arrencada

És clar. Et deixo una versió pensada directament per publicar al blog, amb les comandes i explicacions ordenades, incloent el problema que vam trobar amb Deepin, 11_dde.cfg, 40_custom i update-grub.

GRUB a Deepin: configurar el temps del menú d’arrencada

Quan tenim més d’un sistema operatiu o més d’una instal·lació de Deepin al mateix disc, és molt útil que GRUB mostri el menú d’arrencada durant uns segons abans de seleccionar automàticament l’opció per defecte.

En aquest cas tenia tres possibilitats principals:

  • Deepin 25 de 50 GB, instal·lat a /dev/sda6
  • Deepin 25 de 130 GB, instal·lat a /dev/sda5
  • Windows, instal·lat a /dev/sda3

La configuració de GRUB permet decidir quant temps es mostra el menú i quin sistema s’arrenca automàticament.


1. El fitxer principal de configuració

El fitxer habitual és:

/etc/default/grub

Es pot editar amb:

sudo nano /etc/default/grub

Les línies importants són:

GRUB_DEFAULT=0
GRUB_TIMEOUT=7
GRUB_TIMEOUT_STYLE=menu
GRUB_RECORDFAIL_TIMEOUT=7

Què significa cada opció?

GRUB_DEFAULT

GRUB_DEFAULT=0

Indica quina entrada del menú s’utilitza per defecte.

0 significa la primera entrada.

Per exemple, si la primera entrada és el Deepin de /dev/sda6, aquest serà el sistema que s’arrencarà automàticament si no seleccionem cap altra opció.


2. GRUB_TIMEOUT: temps normal del menú

GRUB_TIMEOUT=7

Indica quants segons espera GRUB abans d’arrencar l’opció per defecte.

Exemples:

GRUB_TIMEOUT=3

→ 3 segons


sudo nano /etc/grub.d/40_custom
sudo update-grub
per veure les linies de set timeout a grub.cng:
grep "set timeout" /boot/grub/grub.cfg

GRUB_TIMEOUT=7

→ 7 segons

GRUB_TIMEOUT=10

→ 10 segons

GRUB_TIMEOUT=0

→ no espera i arrenca immediatament

GRUB_TIMEOUT=-1

→ espera indefinidament fins que l’usuari esculli una opció

Per tenir temps de triar entre diferents sistemes, un valor de 7 o 10 segons sol ser còmode.


3. GRUB_TIMEOUT_STYLE: fer visible el menú

Perquè el menú aparegui directament:

GRUB_TIMEOUT_STYLE=menu

Això és especialment important quan tenim diversos sistemes operatius.

Amb:

GRUB_TIMEOUT_STYLE=menu

GRUB mostra el menú i comença el compte enrere.


4. El temps especial GRUB_RECORDFAIL_TIMEOUT

Hi ha un altre temps que pot intervenir:

GRUB_RECORDFAIL_TIMEOUT=7

Aquest valor s’utilitza quan GRUB detecta que l’arrencada anterior havia quedat marcada com a fallida.

Per exemple:

GRUB_TIMEOUT=7
GRUB_RECORDFAIL_TIMEOUT=8

pot generar al grub.cfg:

if [ "${recordfail}" = 1 ] ; then
    set timeout=8
else
    set timeout=7
fi

Això significa:

arrencada normal       → 7 segons
arrencada amb recordfail → 8 segons

Si volem que el comportament sigui uniforme:

GRUB_TIMEOUT=7
GRUB_RECORDFAIL_TIMEOUT=7

5. Un problema particular de Deepin

En una instal·lació normal de GRUB, sovint n’hi ha prou amb modificar:

/etc/default/grub

Però Deepin pot tenir configuracions addicionals dins:

/etc/default/grub.d/

En el meu cas vaig trobar:

/etc/default/grub.d/11_dde.cfg

El seu contingut era:

# Written by org.deepin.dde.Grub2
DEEPIN_GFXMODE_ADJUSTED=1
DEEPIN_GFXMODE_DETECT=
GRUB_BACKGROUND="/boot/grub/themes/deepin/background.jpg"
GRUB_DEFAULT=0
GRUB_GFXMODE=1920x1080
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
GRUB_TIMEOUT=1

Aquí estava el problema.

Al fitxer principal tenia:

GRUB_TIMEOUT=7

però Deepin tenia:

GRUB_TIMEOUT=1

Per tant, hi havia dues configuracions diferents.

Per comprovar-ho:

sudo cat /etc/default/grub

i:

sudo cat /etc/default/grub.d/11_dde.cfg

Si Deepin ha posat un altre valor a 11_dde.cfg, aquest fitxer s’ha de tenir en compte.

En el meu cas vaig canviar:

GRUB_TIMEOUT=1

per:

GRUB_TIMEOUT=7

El fitxer va quedar:

# Written by org.deepin.dde.Grub2
DEEPIN_GFXMODE_ADJUSTED=1
DEEPIN_GFXMODE_DETECT=
GRUB_BACKGROUND="/boot/grub/themes/deepin/background.jpg"
GRUB_DEFAULT=0
GRUB_GFXMODE=1920x1080
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
GRUB_TIMEOUT=7

6. Fer una còpia de seguretat abans de modificar 11_dde.cfg

És recomanable guardar una còpia:

sudo cp /etc/default/grub.d/11_dde.cfg \
/etc/default/grub.d/11_dde.cfg.backup

Així sempre podem tornar enrere.

Per restaurar-la:

sudo cp /etc/default/grub.d/11_dde.cfg.backup \
/etc/default/grub.d/11_dde.cfg

7. Com comprovar d’on surt un GRUB_TIMEOUT

Si no sabem quin fitxer està modificant el temps, podem buscar-ho:

sudo grep -RniE 'timeout|GRUB_TIMEOUT' \
/etc/grub.d /etc/default/grub.d 2>/dev/null

Això permet descobrir configuracions ocultes o addicionals.

En el meu cas va trobar:

/etc/grub.d/00_header
/etc/grub.d/30_os-prober
/etc/grub.d/40_custom
/etc/default/grub.d/11_dde.cfg

8. Compte amb /etc/grub.d/40_custom

També vaig trobar:

/etc/grub.d/40_custom

que contenia:

set timeout=3

El fitxer era:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.
# ...
set timeout=3

Aquesta línia no era necessària i podia provocar confusió.

La vaig eliminar:

sudo sed -i '/^set timeout=3$/d' /etc/grub.d/40_custom

Després 40_custom va quedar sense cap ordre set timeout.

És millor no utilitzar 40_custom per controlar el temps general de GRUB. Aquest fitxer està pensat principalment per afegir entrades personalitzades al menú.


9. grub.cfg és el fitxer que GRUB acaba utilitzant

Un error habitual és modificar directament:

/boot/grub/grub.cfg

No és recomanable.

Aquest fitxer es genera a partir de les configuracions anteriors.

El procediment correcte és:

/etc/default/grub
        +
/etc/default/grub.d/
        +
/etc/grub.d/
        ↓
sudo update-grub
        ↓
/boot/grub/grub.cfg

Per tant, després de modificar la configuració cal executar:

sudo update-grub

10. Com comprovar el timeout real generat

Després de:

sudo update-grub

podem comprovar què ha generat GRUB:

sudo grep -n -B4 -A4 \
-E 'set timeout=8|set timeout=7|set timeout=3' \
/boot/grub/grub.cfg

També podem fer una comprovació més senzilla:

sudo grep -E 'set timeout=|set timeout_style=' \
/boot/grub/grub.cfg

Per exemple, una configuració normal de 7 segons pot mostrar:

set timeout_style=menu
set timeout=7

11. Un detall important: timeout=8 no sempre és un error

Si trobem:

if [ "${recordfail}" = 1 ] ; then
    set timeout=8
else
    set timeout=7
fi

no significa necessàriament que la configuració estigui malament.

Simplement significa que:

recordfail=1 → 8 segons
recordfail=0 → 7 segons

En el meu cas, inicialment tenia:

GRUB_RECORDFAIL_TIMEOUT=8

i per això GRUB generava el 8.

Si volem sempre 7 segons:

GRUB_RECORDFAIL_TIMEOUT=7

12. Configuració final recomanada

Per al meu cas, amb dos Deepin i Windows, una configuració clara és:

/etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT=7
GRUB_TIMEOUT_STYLE=menu
GRUB_RECORDFAIL_TIMEOUT=7

/etc/default/grub.d/11_dde.cfg

Mantenir les configuracions gràfiques de Deepin i:

GRUB_DEFAULT=0
GRUB_TIMEOUT=7

Per exemple:

# Written by org.deepin.dde.Grub2
DEEPIN_GFXMODE_ADJUSTED=1
DEEPIN_GFXMODE_DETECT=
GRUB_BACKGROUND="/boot/grub/themes/deepin/background.jpg"
GRUB_DEFAULT=0
GRUB_GFXMODE=1920x1080
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
GRUB_TIMEOUT=7

/etc/grub.d/40_custom

No posar-hi:

set timeout=...

si no tenim un motiu específic per fer-ho.


13. Procediment ràpid per canviar el temps

Si volem canviar el temps a 10 segons, per exemple:

sudo nano /etc/default/grub

Canviar:

GRUB_TIMEOUT=7

per:

GRUB_TIMEOUT=10

I, si existeix el mateix paràmetre a Deepin:

sudo nano /etc/default/grub.d/11_dde.cfg

posar també:

GRUB_TIMEOUT=10

Finalment:

sudo update-grub

I comprovar:

sudo grep -E 'set timeout=|set timeout_style=' \
/boot/grub/grub.cfg

14. Resum de la meva incidència

El problema que tenia era una combinació de configuracions.

Jo havia posat:

/etc/default/grub

GRUB_TIMEOUT=7

però Deepin tenia:

/etc/default/grub.d/11_dde.cfg

GRUB_TIMEOUT=1

A més, havia quedat una ordre:

/etc/grub.d/40_custom

set timeout=3

I també existia:

GRUB_RECORDFAIL_TIMEOUT=8

que explicava el set timeout=8 que apareixia al grub.cfg quan GRUB detectava recordfail.

La solució va ser:

  1. Posar GRUB_TIMEOUT=7 també a 11_dde.cfg.
  2. Eliminar el set timeout=3 de 40_custom.
  3. Posar GRUB_RECORDFAIL_TIMEOUT=7.
  4. Executar sudo update-grub.
  5. Comprovar el resultat a /boot/grub/grub.cfg.

El resultat és una configuració coherent amb:

MENÚ GRUB VISIBLE
       ↓
7 segons
       ↓
┌───────────────────────────────┐
│ Deepin 25 Community  (sda6)  │ ← per defecte
│ Deepin 25          (sda5)    │
│ Windows             (sda3)   │
└───────────────────────────────┘

Això permet tenir diversos sistemes instal·lats i escollir fàcilment quin volem arrencar.

Si vols, també et puc preparar una segona versió molt més curta, tipus “xuleta de butxaca”, amb només les comandes imprescindibles per tenir-la al costat del PC.

⭐Flux de l’arrancada de deepin

1. Firmware UEFI (el «BIOS» modern)

Quan encens l’ordinador, el primer que s’executa és el firmware (UEFI) de la placa base. Llegeix les entrades d’arrencada que té guardades a la NVRAM i tria la primera de la llista (BootOrder). Al teu cas:

BootOrder: 0002,0000
Boot0002* deepin → \EFI\DEEPIN\SHIMX64.EFI

Per tant arrenca l’entrada deepin, que apunta a un fitxer de la partició EFI (/dev/sda1, la partició petita FAT32). El «Timeout: 2 seconds» que sortia a efibootmgr és el menú propi del firmware (si prems F12/F11 per triar sistema), no el de GRUB.

2. shimx64.efi → grubx64.efi (el carregador GRUB)

A la partició EFI hi ha dos executables encadenats:

  • shimx64.efi → el que carrega la UEFI. És un petit «pont» amb la firma de Microsoft per poder passar el Secure Boot.
  • grubx64.efi → el GRUB de debò. El shim el verifica i el llança.

Ara el control ja és de GRUB, un mini-sistema operatiu que sap llegir sistemes de fitxers (ext4, fat, etc.) i interpretar scripts.

3. GRUB busca i llegeix la configuració (grub.cfg)

GRUB necessita saber què ha de fer. Busca el seu script en dos passos:

a) El «stub» de la partició EFI (/efi/EFI/deepin/grub.cfg) — el que hem vist:

search.fs_uuid 913ddb59-... root hd0,gpt6
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

És a dir: «troba el disc/partició amb aquest UUID (el gpt6, el teu Deepin 25 Community) i carrega la configuració real que hi ha allà».

b) La configuració real (/boot/grub/grub.cfg del gpt6) — el fitxer generat que hem estat tocant. Aquest script és llarg i fa de tot:

  • Carrega mòduls (insmod), la font i el tema deepin
  • Defineix el timeout → ara 15 segons gràcies al teu set timeout=15 de 40_custom (l’últim que s’executa, el que mana)
  • Defineix els menuentries (les opcions del menú):
    • Deepin 25 Community (la teva)
    • Rollback…
    • Windows Boot Manager (sda1)
    • Deepin 25 (25) (sda5, sda6) — via os-prober
    • System Setup (entrada UEFI)

4. GRUB mostra el menú

Amb tot carregat, GRUB pinta el menú amb el tema gràfic de deepin i comença el compte enrere de 15 segons. Si no toques res, tria l’opció per defecte (GRUB_DEFAULT=0 → «Deepin 25 Community»). Si prems una tecla, el compte enrere es para i pots triar tu.

5. GRUB carrega el kernel

Quan es tria una opció, GRUB executa el contingut del menuentry:

linux /boot/vmlinuz-6.6.143-... root=UUID=913ddb59-... ostree=auto quiet ...
initrd /boot/initrd.img-6.6.143-...
  • linux ... → carrega el nucli (kernel) amb els paràmetres que li passa (quina partició és la root, etc.)
  • initrd ... → carrega el «initramfs», un mini-sistema temporal en memòria que ajuda el kernel a muntar el sistema real

6. El kernel arrenca (aquí era on hi havia el cercle blau)

El kernel s’inicia i, gràcies a l’initramfs, munta el sistema real. Aquí és on apareixia Plymouth, el cercle blau difús: és una animació que tapa els missatges d’arrencada perquè la pantalla quedi «bonica». S’activava pel paràmetre splash que vam eliminar → ara, en lloc del cercle, veuràs els missatges d’arrencada en text.

(Nota: el sistema és OSTree/immutable, per això el paràmetre és ostree=auto: el kernel sap que ha de muntar el desplegament immutable que li toca.)

7. Sessió gràfica

Quan el sistema està muntat, s’inicia el display manager (la pantalla d’inici de sessió de deepin) i, després d’identificar-te, el DDE (Deepin Desktop Environment) amb el teu escriptori.


Resum de qui fa què en el teu cas

PasQuiQuè faOn és
1UEFItria entrada i executaNVRAM / sda1
2shim → grubx64.eficarrega GRUB/dev/sda1/EFI/deepin/
3astub grub.cfgtroba gpt6 i crida la config real/efi/EFI/deepin/grub.cfg
3bgrub.cfg realcarrega tema, timeout, entrades/boot/grub/grub.cfg (gpt6)
4GRUBmostra el menú (ara 15 s)—
5GRUBcarrega kernel + initrd/boot/
6kernelarrenca sistema (sense splash)—
7DDEpantalla de login i escriptori—

I recorda la cadena de generació (on hem fet els canvis):

/etc/default/grub  +  /etc/grub.d/* (00_header, 40_custom...)
        │
        └── sudo update-grub (grub-mkconfig)
                │
                └── genera → /boot/grub/grub.cfg
                                 │
                                 └── és el que llegeix GRUB a cada arrencada

Tot encaixa: el teu set timeout=15 (via 40_custom) és el que fa que el menú es quedi 15 segons, i treure el splash és el que elimina el cercle blau. 👍

⭐Temps del menú GRUB a Deepin


🧾 XULETA — Temps del menú GRUB a Deepin

1️⃣ Obre el fitxer de configuració

sudo nano /etc/default/grub

GRUB a /etc/default/grub

Miquel@Miquel-PC:~$ sudo cat /etc/default/grub
# Generated by deepin-installer
GRUB_BACKGROUND="/boot/grub/themes/deepin/background.jpg"
GRUB_DEFAULT=0

GRUB_TIMEOUT=6 <- aquí tries el temps que vols visualitzar el menú
GRUB_TIMEOUT_STYLE=menu
#treu "splash" (així desapareix el cercle blau)
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

GRUB_DISTRIBUTOR="`/usr/bin/lsb_release -d -s 2>/dev/null`"
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
DEEPIN_GFXMODE_DETECT=1


GRUB_TIMEOUT=15
GRUB_TIMEOUT_STYLE=menu


2️⃣ Modifica aquestes 3 línies

Per a 6 segons:

GRUB_TIMEOUT=6
GRUB_TIMEOUT_STYLE=menu
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
ParàmetreQuè faExemple a 6s
GRUB_TIMEOUTEl temps que el menú espera6
GRUB_TIMEOUT_STYLE=menuForça que el menú es mostri (no amagat)menu
GRUB_CMDLINE_LINUX_DEFAULTTreu splash (el cercle blau de Plymouth) perquè el menú sigui visible"quiet"

⚠️ Si veus GRUB_TIMEOUT_STYLE=hidden o la paraula splash, canvia-les com a dalt. Si no hi ha cap GRUB_TIMEOUT_STYLE, afegeix-la.

3️⃣ Desa els canvis

  • A nano: Ctrl + O → Enter (desa) → Ctrl + X (surt)

4️⃣ Regenera la configuració (EL PAS CLAU! 🧠)

sudo update-grub

Sense aquest pas, els canvis no s’apliquen. Cal fer-ho sempre.

5️⃣ Reinicia i comprova

sudo reboot

💡 Altres valors ràpids

  • 3 segons: GRUB_TIMEOUT=3
  • 10 segons: GRUB_TIMEOUT=10
  • Espera infinita (que no marxi sol): GRUB_TIMEOUT=-1
  • Sense espera (menú instantani): GRUB_TIMEOUT=0

🔁 Si tornes a tenir la pantalla blava o el menú no apareix:

  1. Verifica que has tret splash de GRUB_CMDLINE_LINUX_DEFAULT.
  2. Torna a executar sudo update-grub.
  3. Reinicia.

Si et cal canviar-ho a un altre temps o tens dubtes amb la teva configuració concreta, digues-m’ho! 😊


iquel@Miquel-PC:~$ sudo grep "set timeout" /boot/grub/grub.cfg
Contraseña:
Verificación exitosa
  set timeout=3
    set timeout_style=menu
    set timeout=1
    set timeout=1
set timeout=3
Miquel@Miquel-PC:~$ 

Backup d’apps

tinc el Deepin amb la instalació bàsica quin directoris de la imatge adjunta serien necesaris per carregar apps d’usuar d’un altre deepin sense afectar al deepin base?

Referencia 10 fuentes

Deep think completado (tardó 6s)

Segons l’estructura de la imatge adjunta (sembla un backup complet del sistema Deepin), per carregar apps d’usuari d’un altre Deepin sense afectar el Deepin base, els directoris clau són:


📁 Directoris necessaris

1. opt → Imprescindible

Aquí s’instal·len els programes de tercers (deb, run, etc.), com ara Chrome, WPS, QQ, etc.

plaintext

1/opt/apps/com.tencent.qq

2/opt/apps/com.wps.office

3

  • ✅ No afecta el sistema base
  • ✅ Conté la majoria d’aplicacions d’usuari

2. home → Molt recomanable

Conté les dades personals i les configuracions d’aplicacions de cada usuari:

plaintext

1/home/usuari/.local/share/applications → Accessos directes

2/home/usuari/.config/ → Configuracions d’apps

3/home/usuari/.local/bin/ → Scripts i binaris d’usuari

4

  • ✅ Configuracions i dades d’aplicacions

3. var → Parcialment (només var/lib/linglong)

Si l’altre Deepin té apps en format Linglong, es troben a:

plaintext

1/var/lib/linglong/layers/main/

2

  • ⚠️ Només interessa aquesta subcarpeta, no tot /var

4. usr → ❌ NO (només puntualment)

  • /usr/bin, /usr/lib, /usr/share → Afecten el sistema base
  • Millor no tocar-lo per evitar trencar el Deepin base

📋 Resum: Què copiar?

DirectoriNecessari?Per què?
opt✅ SíApps d’usuari (deb, run)
home✅ SíDades, configs, accessos directes
var (linglong)⚠️ Només si tens apps LinglongApps en format contenidor
usr❌ NoAfecta el sistema base
etc❌ NoConfiguració del sistema
bin, lib, sbin❌ NoParts del sistema base

🔧 Com fer-ho (idea general)

bash

1# Copiar apps de tercers

2sudo cp -a /origen/opt/* /destí/opt/

3

4# Copiar dades d’usuari (canviant el nom d’usuari si cal)

5sudo cp -a /origen/home/usuari /destí/home/usuari

6

7# Si hi ha apps Linglong

8sudo cp -a /origen/var/lib/linglong /destí/var/lib/linglong

9

Nota: Després de copiar, potser caldrà actualitzar els accessos directes a /home/usuari/.local/share/applications/ si el camí d’usuari ha canviat.

sis plau copia /media/Miquel/backup/deepin_amd-p1_system_backup/home a -> /media/Miquel/backup/backup_basic//media/Miquel/backup/deepin_amd-p1_system_backup/home i també opt

Deep think completado (tardó 7s)

Entesos! Vull copiar:

  1. /media/Miquel/backup/deepin_amd-p1_system_backup/home → /media/Miquel/backup/backup_basic/home
  2. /media/Miquel/backup/deepin_amd-p1_system_backup/opt → /media/Miquel/backup/backup_basic/opt

Però no tinc una eina per copiar directoris sencers de forma recursiva amb les eines disponibles. Puc:

  • Opció A: Si vols, puc obrir el terminal perquè tu hi executis les ordres.
  • Opció B: O bé, si prefereixes, puc copiar fitxer per fitxer (però seria molt lent per a directoris grans).

📌 Ordre que necessitaries al terminal:

bash

1# Crear la carpeta de destí

2mkdir -p /media/Miquel/backup/backup_basic

3

4# Copiar home recursivament

5sudo cp -a /media/Miquel/backup/deepin_amd-p1_system_backup/home /media/Miquel/backup/backup_basic/

6

7# Copiar opt recursivament

8sudo cp -a /media/Miquel/backup/deepin_amd-p1_system_backup/opt /media/Miquel/backup/backup_basic/

9

Vols que obri el terminal per fer-ho?

potser els cadenats, .. significa que aquest directori està acabat?

Deep think completado (tardó 2s)

No, el cadenat 🔒 no vol dir que el directori estigui «acabat». En els gestors de fitxers (com el de Deepin), el cadenat indica que:

🔒 Significat real del cadenat

SignificatDetall
Permisos restringitsEl directori és propietat de root o té permisos limitats
No es pot modificarL’usuari normal no hi pot escriure sense sudo
Protecció del sistemaSón directoris del sistema que no s’han de tocar

📁 Directoris amb cadenat al teu backup:

  • bin, efi, etc, lib, lib64, opt, ostree, persistent, root, sbin, srv, sysroot, usr, var → Tots tenen propietari root i permisos 755 (r-xr-xr-x)
  • home → Normalment sense cadenat perquè l’usuari n’és propietari

✅ Què significa per a la teva còpia?

  • opt → Té cadenat perquè és de root, però és normal. Quan el copiïs amb sudo cp -a, es mantindran els permisos i tot funcionarà correctament.
  • No hi ha cap problema, simplement el sistema protegeix aquests directoris perquè no els esborris per accident.

🎯 Resum:

Cadenat ≠ «acabat»
Cadenat = «protegit / només root pot modificar»

Vols que obri el terminal per fer la còpia amb sudo?

Resumir el contenido clave del archivo.

Deep think completado (tardó 1s)

Linux vs Deepin

Correcte, ho has entès perfectament. 🎯

Aquí tens la distinció tècnica:

  • Linux és només el nucli (kernel) del sistema: la part que gestiona el maquinari, la memòria, els processos, els drivers, etc. No és, per si sol, un sistema operatiu complet, perquè no inclou eines d’usuari, interfície gràfica, aplicacions de base, etc.
  • Deepin és un sistema operatiu complet (una distribució GNU/Linux) que utilitza el nucli Linux com a base, però hi afegeix tota la resta:
    • Les eines GNU (ordre bàsiques, gestió de fitxers…)
    • L’entorn d’escriptori DDE (Deepin Desktop Environment) amb tota la interfície gràfica
    • Aplicacions pròpies (Deepin Mail, Deepin Music, gestor de fitxers, centre de control…)
    • Gestor de paquets, instal·lador, configuració del sistema…

Per tant, la relació és:

Linux (nucli)  +  GNU + DDE + aplicacions  =  Deepin (SO complet)

Exemples per aclarir-ho

  • Quan diem «Android es basa en Linux», volem dir que Android utilitza el nucli Linux com a base, però Android com a tal és un sistema operatiu diferent de Deepin.
  • Ubuntu, Fedora, Arch o Debian també són sistemes operatius (distribucions) que comparteixen el mateix nucli Linux.

Frase exacta per resumir-ho

«Linux és el motor (nucli); Deepin és el cotxe complet (sistema operatiu) que fa servir aquest motor.»

Així que sí: Deepin és un sistema operatiu, i Linux és el nucli sobre el qual Deepin i moltes altres distribucions estan construïdes.


No. Apple no es basa en Linux. Aquesta és una confusió molt habitual. 👇

Què utilitza Apple realment?

  • macOS (ordinadors Mac) i iOS (iPhone/iPad) es basen en el nucli Darwin, que prové d’una combinació de:
    • Mach (un nucli microkernel desenvolupat a la universitat de Carnegie Mellon)
    • BSD (Berkeley Software Distribution), un altre sistema Unix
  • Per tant, Apple és un sistema Unix, però no derivat de Linux. Són dues famílies diferents que comparteixen estàndards semblants.

Famílies de sistemes operatius (resum)

FamíliaExemplesNucli
GNU/LinuxDeepin, Ubuntu, Debian, Fedora, AndroidLinux
BSD / UnixmacOS, iOS, FreeBSDDarwin (Mach + BSD)
WindowsWindows 11NT
Propi (propietari)Haiku, etc.El seu propi

Punt clau

  • Linux i BSD/Unix comparteixen filosofia i moltes eines (totes dues són «sistemes semblants a Unix»), però el nucli és diferent i els programes no són 100% intercanviables.
  • Apple sí que utilitza codi obert en alguns components (com WebKit del navegador Safari, o parts de BSD), però el nucli del sistema no és Linux.

Frase per recordar-ho

«Linux i macOS són cosins (tots dos d’estil Unix), però no germans: un usa el nucli Linux i l’altre el nucli Darwin (Mach + BSD).»

En resum: Apple = Darwin (Mach + BSD), Deepin/Ubuntu/etc. = Linux. Són dues famílies diferents. 😊

On es guarden els correus de Deepin Mail?

Aquí tens tota la informació resumida en un únic post, llest per copiar i enganyar al teu blog:


📧 On es guarden els correus de Deepin Mail? Guia completa

Deepin Mail és el client de correu d’escriptori del sistema operatiu Deepin. Una de les preguntes més freqüents és: on es desen els correus i què passa si em quedo sense internet? Aquí t’ho explico tot.

📁 Ubicació de les dades

Els correus descarregats es guarden dins del directori personal de l’usuari:

~/.local/share/deepin/deepin-mail/

Dins d’aquesta carpeta hi trobarem:

~/.local/share/deepin/deepin-mail/
├── mail/                    ← contingut real dels missatges
│   ├── <compte_gmail>/      ← una subcarpeta per cada compte
│   │   ├── INBOX/
│   │   ├── Sent/
│   │   ├── Drafts/
│   │   └── ...
│   └── ...
├── config/                  ← configuració dels comptes
└── cache/                   ← dades auxiliars
  • El cos dels missatges i els adjunts es desen com a fitxers .eml (format estàndard de correu) dins de mail/, organitzats per compte i per carpeta.
  • Els logs (registres d’activitat) van a un altre lloc: ~/.cache/deepin/deepin-mail/deepin-mail.log.

⚠️ Important: el fitxer de log no conté el contingut dels correus. És només un fitxer de text petit amb errors i esdeveniments (ocuparà kilobytes, mai gigabytes).

💾 En quina partició es desa?

Com que tot es troba dins del directori personal (~ = /home/usuari), es desa a la partició on estigui muntat el directori /home:

  • Si tens una partició /home separada → es guarda en aquella partició.
  • Si no tens partició /home separada → es guarda a la partició arrel / (la partició on està instal·lat Deepin).

Per comprovar-ho fàcilment:

df -h ~/.local/share/deepin/deepin-mail/

🌐 Puc llegir el correu sense internet?

Sí, en general. Si els correus ja s’han descarregat abans, queden emmagatzemats localment al disc, de manera que pots llegir-los sense connexió.

✅ Què pots fer sense internet:

  • Llegir tots els correus ja descarregats (text i adjunts).

❌ Què NO pots fer sense internet:

  • Rebre correus nous (fins que et tornis a connectar).
  • Enviar correus (quedaran a la safata de sortida i s’enviaran en reconnectar).
  • Veure correus que mai s’han descarregat prèviament.

💡 Consell: si el client només està configurat per mostrar capçaleres i descarregar el contingut sota demanda, sense internet veuràs la llista de missatges però no el cos complet. Amb la descàrrega completa (com en el cas de 7 GB locals), els podràs llegir sencer.

🔍 Comandes útils per inspeccionar-ho

# Quant ocupa el correu real
du -sh ~/.local/share/deepin/deepin-mail/

# Quant ocupen els logs i la caché
du -sh ~/.cache/deepin/deepin-mail/

# Veure l'estructura de carpetes
find ~/.local/share/deepin/deepin-mail/ -maxdepth 2 -type d

# En quina partició es troba
df -h ~/.local/share/deepin/deepin-mail/

🧾 Resum

QuèOn es desa
Contingut dels correus (.eml)~/.local/share/deepin/deepin-mail/mail/
Configuració dels comptes~/.local/share/deepin/deepin-mail/config/
Logs / registres~/.cache/deepin/deepin-mail/
ParticcióOn està muntat /home (o / si no hi ha partició separada)

Idea clau: la teva còpia local de correu és independent d’Internet un cop descarregada. El correu viu al teu disc, no només al núvol.


Espero que et sigui útil per al blog! Si vols, puc adaptar-lo a un altre format (més curt, més tècnic, amb imatges de lloc, etc.). 📝

Formatar Disk Deepin

Sí. Si ho has esborrat tot i comencem de zero, ho podem fer net i ordenat. 👍

Per a un ordinador amb arrencada UEFI, jo faria dues particions petites d’arrencada i després la del sistema:

Estructura que et recomano

ParticióMidaFormatPunt de muntatge
1512 MBFAT32/boot/efi
21 GBext4/boot
3resta del discext4/

No necessitem una partició /home separada.

Ara, a la pantalla que tens

Per crear la primera:

  1. Selecciona l’espai lliure.
  2. Prem crear partició.
  3. Mida: 512 MB.
  4. Sistema de fitxers: ext4 no → selecciona FAT32.
  5. Punt de muntatge: /boot/efi.
  6. Formatar: sí, perquè estem començant de zero.
  7. Confirma.

Després crearem:

1 GB   ext4   /boot

I finalment:

resta   ext4   /

⚠️ Important

A la captura anterior veia que l’instal·lador et mostrava «Cree una partición /boot/». Per això vull que creem també /boot, no només /boot/efi.

No premis encara «Siguiente». Crea primer la partició de 512 MB FAT32 /boot/efi i, quan la tinguis creada, fes-me una foto de la pantalla. Et dic el següent pas abans de continuar.

Flux d’arrancada quan es Deepin

Sí, la teva interpretació és gairebé perfecta. Et detallo el flux complet perquè sàpigues exactament on apunta cada cosa:

Flux d’arrancada quan tries Deepin

1. BIOS/UEFI → Boot Menu (F12/F8/Esc)
   └─ Veus dues entrades UEFI:
      • Windows Boot Manager
      • deepin (o similar)

2. Tries "deepin" → UEFI carrega el carregador EFI
   └─ Des de sda1 (FAT32 "SYSTEM"):
      \EFI\deepin\grubx64.efi   ← aquí viu GRUB

3. GRUB s'executa i mostra el seu menú (o arrenca directe)
   └─ GRUB busca el kernel a:
      sda5:/boot/vmlinuz-xxx
      sda5:/boot/initrd.img-xxx
      (com que no tens /boot separat, està dins l'arrel)

4. GRUB carrega el kernel + initramfs
   └─ Li diu: "la partició arrel és la que té UUID
       121cc95c-280d-40e4-9f4c-af6bbd862f8d" (és sda5, "Roota")

5. Initramfs monta sda5 a /sysroot, ostree fa pivot-root
   └─ Arrenca el deployment ostree actiu
   └─ Es munten /ostree, /persistent, /var, /home, etc.

On viu cada cosa

ComponentParticióRuta
UEFI firmwarexip de la placa–
Bootloaders EFI (Windows + GRUB)sda1 (FAT32 «SYSTEM»)/boot/efi/EFI/Microsoft/… i /boot/efi/EFI/deepin/…
Kernel + initramfssda5/boot/ (dins l’arrel ext4)
GRUB configsda5/boot/grub/grub.cfg
Sistema base (només lectura)sda5/usr, /bin, /lib (via ostree)
Dades persistentssda5/home, /var, /persistent

Punts importants que sovint es confonen

1. sda1 és COMPARTIDA. És la partició EFI estàndard que va crear Windows quan es va instal·lar. Deepin hi va afegir el seu propi carregador (\EFI\deepin\grubx64.efi) sense tocar el de Windows. Per això al Boot Menu de la BIOS veus dues entrades i no cal que GRUB gestioni Windows.

2. GRUB utilitza UUID, no noms de dispositiu. Si mires /boot/grub/grub.cfg veuràs que apunta a:

linux /boot/vmlinuz-... root=UUID=121cc95c-280d-40e4-9f4c-af6bbd862f8d

Això vol dir que GRUB busca la partició amb aquest UUID concret, que és sda5 («Roota»). Tant és si Linux la veu com sda5, sdb5 o el que sigui: l’UUID és estable.

3. Hi ha DOS nivells de menú.

  • Nivell 1 (UEFI): tria entre «Windows Boot Manager» i «deepin». Aquí decideixes quin bootloader carregar.
  • Nivell 2 (GRUB): un cop carregat GRUB, pot mostrar-te entrades addicionals:
    • El Deepin normal
    • Desplegaments ostree anteriors (snapshot de rollback — molt útil!)
    • Kernels antics
    • Memtest, etc.
    Per veure els desplegaments ostree disponibles: sudo ostree admin status

Comandaments per verificar-ho tu mateix

# Veure les entrades d'arrancada UEFI registrades
sudo efibootmgr -v

# Veure el contingut de la partició EFI
ls -la /boot/efi/EFI/

# Veure la configuració de GRUB (on apunta realment)
grep -i "root=" /boot/grub/grub.cfg | head -5

# Veure els deployments ostree (snapshots del sistema)
sudo ostree admin status

Resum del que et passa al Boot Menu

Boot Menu UEFI (F12)
 ├─ Windows Boot Manager → \EFI\Microsoft\...\bootmgfw.efi (sda1) → arrenca Windows (sda3)
 └─ deepin             → \EFI\deepin\grubx64.efi          (sda1) → GRUB → sda5 (Roota)

Per tant: sí, quan tries Deepin, primer va a sda1 (només a llegir el GRUB), després GRUB carrega el kernel que apunta a sda5 mitjançant el seu UUID, i finalment arrenca el sistema des de «Roota». Tot el Deepin viu dins sda5; sda1 només conté la porta d’entrada EFI.


FORÇAR TEPMS

1. Fem una còpia de seguretat per si de cas

sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg_backup

2. Forcem l’entrada 9 (la nostra manual de sda6) com a predeterminada

sudo sed -i ‘s/set default=»0″/set default=»9″/’ /boot/grub/grub.cfg

3. Forcem el temps d’espera del menú a 15 segons (canvia tots els «1» per «15»)

sudo sed -i ‘s/set timeout=1/set timeout=15/g’ /boot/grub/grub.cfg

4. Eliminem «splash quiet» de l’arrencada per veure el text real (Prova de la veritat)

sudo sed -i 's/set timeout=1/set timeout=15/g' /boot/grub/grub.cfg
sudo sed -i 's/splash quiet//g' /boot/grub/grub.cfg