Ubuntu 更改系统内核
所遇问题:
- 在装有GPU的机器上,执行nvidia-smi显示错误:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
- 查找问题,由于内核进行过升级,需要将内核版本恢复到旧本本。(但目前远程办公,无法都物理机房进行手动选择启动内核)
问题解决:
- 查看当前内核版本:
(base) root@t90:~# uname -r
4.4.0-174-generic
- 查看所安装的所有内核版本:
(base) root@t90:~# dpkg --get-selections |grep linux-image
linux-image-4.4.0-116-generic install
linux-image-4.4.0-169-generic install
linux-image-4.4.0-170-generic install
linux-image-4.4.0-171-generic install
linux-image-4.4.0-174-generic install
linux-image-extra-4.4.0-116-generic deinstall
linux-image-generic install
将版本从4.4.0-174更换到4.4.0-116 - 查看内核的启动顺序
(base) root@t90:~# grep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-174-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-174-generic-advanced-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-174-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-174-generic-init-upstart-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-174-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-174-generic-recovery-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-171-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-171-generic-advanced-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-171-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-171-generic-init-upstart-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-171-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-171-generic-recovery-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-170-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-170-generic-advanced-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-170-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-170-generic-init-upstart-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-170-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-170-generic-recovery-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-169-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-169-generic-advanced-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-169-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-169-generic-init-upstart-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-169-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-169-generic-recovery-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-116-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-116-generic-advanced-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-116-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-116-generic-init-upstart-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
menuentry 'Ubuntu, with Linux 4.4.0-116-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-116-generic-recovery-eae48a6c-dc80-49ea-bd72-cd47d30b512d' {
(base) root@t90:~#
将 Linux 4.4.0-174-generic标志为0,则Ubuntu, with Linux 4.4.0-116-generic为12 - 更改/etc/default/grud文件
(base) root@t90:~# vim /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
#GRUB_DEFAULT=0
#GRUB_DEFAULT=12
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-116-generic"
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
#GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
将GRUB_DEFAULT从0改为12或"Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-116-generic" - 更新内核
(base) root@t90:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-174-generic
Found initrd image: /boot/initrd.img-4.4.0-174-generic
Found linux image: /boot/vmlinuz-4.4.0-171-generic
Found initrd image: /boot/initrd.img-4.4.0-171-generic
Found linux image: /boot/vmlinuz-4.4.0-170-generic
Found initrd image: /boot/initrd.img-4.4.0-170-generic
Found linux image: /boot/vmlinuz-4.4.0-169-generic
Found initrd image: /boot/initrd.img-4.4.0-169-generic
Found linux image: /boot/vmlinuz-4.4.0-116-generic
Found initrd image: /boot/initrd.img-4.4.0-116-generic
done
- 重启:
reboot
- 重启之后查看内核版本:
(base) root@t90:~# uname -r
4.4.0-116-generic
- 查看nvidia-smi
(base) root@t90:~# nvidia-smi
Wed Feb 19 19:29:57 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67 Driver Version: 418.67 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla P100-PCIE... Off | 00000000:03:00.0 Off | 0 |
| N/A 37C P0 32W / 250W | 0MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-PCIE... Off | 00000000:04:00.0 Off | 0 |
| N/A 37C P0 26W / 250W | 0MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
问题解决 Done!!