Acessando o terminal e realizando operações em outra instalação Linux e partição do mesmo disco rígido

Acessando o terminal e realizando operações em outra instalação Linux e partição do mesmo disco rígido

Tenho linux A na partição A e linux B na partição B do mesmo disco rígido. Agora quando entro no linux A.

É possível do terminal no linux A remover e instalar alguns drivers no linux B?

Responder1

Sim, você pode fazer isso aplicando duas abordagens:

Primeiro:

Se o seu driver for entregue por repositório ou algum script de instalação (como drivers NVidia), você pode montar a partição B do linux B e montar proc, sys, dev:

# mount -t proc proc /mount/point/partition/B/proc
# mount -t sysfs sysfs /mount/point/partition/B/sys
# mount -t devtmpfs devtmpfs /mount/point/partition/B/dev

Então, chrootpara /mount/point/partition/B:

# chroot /mount/point/partition/B/

Agora você está trabalhando no Linux B como se estivesse inicializado no Linux B. Você pode usar comandos de repositório ( yum, apt...) e outros.

!!!Mas você precisa se lembrar!!!

O kernel carregado do linux A pode ser diferente do kernel do linux B, portanto, todos os utilitários que usam a versão do kernel como parâmetro por padrão ( dkms, ferramentas initramfs ( dracut, mkinitrd...), alguns scripts de instalação) falharão. Então você precisa especificar a versão do kernel do Linux B como parâmetro para esses utilitários!

Segundo:

Monte a partição B do Linux B e remova os drivers (módulos) nesta partição manualmente rm /mount/point/partition/B/lib/modules/needed_kernel_version_of_linux_B/module/path/module.ko. Além disso, você pode querer limparmodprobeou eudevregras. Esta abordagem não é limpa e adequada se você realmente sabe o que está fazendo (como seu driver é organizado e como ele influencia no Linux B).


Pequeno exemplo:

No Linux, digite um lsblkcomando. Isso dá a você uma ideia de partições que são usadas e montadas no Linux A e partições com ponto de montagem vazio. Se você não conectou dispositivos removíveis, então todas as partições com ponto de montagem vazio estão relacionadas ao Linux B. Crie diretórios nos quais você montará as partições do Linux B e monte-as:

Caso simples sem LVM e outros:

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 223.6G  0 disk
├─sda1   8:1    0    12G  0 part  [SWAP]
├─sda2   8:2    0   150G  0 part  /
└─sda3   8:3    0  61.6G  0 part

O dispositivo sda3não está montado, então ele retransmite para o Linux B.

Crie /mnt/sda3o diretório e monte a raiz do Linux B:

# mkdir /mnt/sda3
# mount /dev/sda3 /mnt/sda3

Prepare para chroot:

# mount -t proc proc /mnt/sda3/proc
# mount -t sysfs sysfs /mnt/sda3/sys
# mount -t devtmpfs devtmpfs /mnt/sda3/dev

chroot:

# chroot /dev/sda3

Agora você está no Linux B!

informação relacionada