同じハードディスク上のパーティションAにLinux Aがあり、パーティションBにLinux Bがあります。これでLinux Aに入ります。
Linux Aの端末からLinux Bの一部のドライバをアンインストールしてインストールできますか?
答え1
はい、次の2つの方法を適用してこれを実行できます。
最初:
ドライバがリポジトリまたは一部のインストールスクリプト(NVidiaドライバなど)を介して提供されている場合は、Linux BのパーティションBをマウントして、、、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
それchroot
から/mount/point/partition/B
:
# chroot /mount/point/partition/B/
今、あなたはLinux Bで起動するようにLinux Bで作業しています。リポジトリコマンド(yum
、apt
...)などのコマンドを使用できます。
! ! !しかし、覚えておく必要があります! ! !
Linux AにロードされたカーネルはLinux Bのカーネルと異なる可能性があるため、カーネルバージョンを引数として使用するすべてのユーティリティ(dkms
、initramfsツール(dracut
... mkinitrd
)、一部のインストールスクリプト)はデフォルトで失敗します。したがって、これらのユーティリティの引数としてLinux Bのカーネルバージョンを指定する必要があります。
第二:
Linux BのパーティションBをマウントし、このパーティションのドライバ(モジュール)を手動で削除しますrm /mount/point/partition/B/lib/modules/needed_kernel_version_of_linux_B/module/path/module.ko
。掃除をしたいかもしれませんモジュールプローブまたは/そしてウデブルール。このアプローチは、自分が何をしているのか(ドライバがどのように構成されていて、これがLinux Bにどのような影響を与えるか)、実際に知っていれば、きれいでも適していません。
小さな例:
Linuxのタイプコマンドですlsblk
。これにより、Linux Aで使用およびマウントされたパーティションと空のマウントポイントを持つパーティションを想像できます。リムーバブルデバイスが接続されていない場合、マウントポイントが空のすべてのパーティションはLinux Bに関連付けられます。 Linux Bパーティションをマウントするディレクトリを作成し、それをマウントします。
LVMやその他の機能がない簡単な場合:
# 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
デバイスがsda3
マウントされていないため、Linux Bに中継されます。
ディレクトリを作成/mnt/sda3
し、Linux Bのルートディレクトリをマウントします。
# mkdir /mnt/sda3
# mount /dev/sda3 /mnt/sda3
準備する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
今、あなたはすでにLinux Bを使用しています!