(转)ubuntu 黑屏 进入不了图形界面 dev/sda1: clean, 552599/6111232 files, 7119295/24414464 blocks


一)、修改boot启动项

开始的时候电脑开不了机(开机之后,先是紫屏,再一直是黑屏),重启了几次发现依旧如此,就修改了boot启动顺序,LEFI启动Leacy启动都试了;之后根据启动的瞬间屏幕亮出的in unsecure boot,也尝试改成不安全启动;

有了效果,开机画面变了,然后出现了一个黑框,嗯,就是最开头的图,可以输入内容、Enter键,但是不会执行,Ctrl+Alt+F2,居然能用,切换到TTY2界面,长舒了口气,还有救。

二)、修改grub 引导项(很多人通过这个解决了,但是这招对我没用)

在黑窗口里面(Ctrl+Alt+F2-7都行,输入用户名、密码),输入

sudo gedit /etc/default/grub
找到quiet splash并在后面添加nomodeset;修改前:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
修改后:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset“


然后输入

sudo update-grub
再重启就行了。

如果出现无法使用sudo update-grub,比如:/usr/sbin/grub-mkconfig 1 /etc/default/grub i# not found

解决方法: sudo cp /usr/share/grub/default/grub /etc/default/grub

 

如果能进入到grub引导界面,就不用像上面那样胆战心惊了:以下为引用(其实就是照抄了,我单系统,看不到这个)

附链接:https://blog.csdn.net/Gavinmiaoc/article/details/82968853

开机后自动显示grub选项,提示要选择哪个操作系统的时候,默认选择光标是在第一行Ubuntu上的(整个第一行为白色)

 

根据提示按e(edit的意思),可以看到,中下部分有一处写着“ro“,这才发现端倪所在:

 

改成这样的

 

”ro“是”read only“只读的意思,在操作系统的基础知识中,我们知道一个操作系统在开机启动的过程中,有些软件会需要在此时写入一些信息和数据到系统中,才能正常运行,这里写成了”ro“会导致开机的时候一些软件无法写入数据,导致一直等待可以写入的时机否则不进行下一步,从而系统一直等待无法启动。

这里我的解决方法是把”ro“改成”rw“,即”read & write“,可以读取并且可以写入,

同时为了排除独立显卡的影响因素也在splash后面加上了nomodeset,然后按F10或者ctrl+x重启。

我做的在命令行里面的操作,应和他这个效果一样,所以,我就接着他的办法更新了一下:

然后在命令行用

sudo apt update,以及

sudo apt upgrade 更新自己的系统内核,然后用

sudo apt install -f和

sudo apt autoremove来无副作用的删除旧内核,
如果你成功了,恭喜

我挺苦恼的,我更新不了,因为没有网,虽然我有校园网线,但是那个得输入验证,由此引入了(三)环节。

三)、ubuntu通过命令行联网

抄自:https://blog.csdn.net/zhu334974857/article/details/77198545

1.通过命令行ifconfig命令查看以太网(即网线插口)的名称,如下图,'enp3s0'是网线插口(Ethernet以太网):

zhuml@zhuml-Latitude-3350:~$ ifconfig
enp3s0 Link encap:Ethernet HWaddr 14:18:77:a5:24:3d
inet addr:10.58.101.247 Bcast:10.58.103.255 Mask:255.255.252.0
inet6 addr: fe80::2883:9232:3f1e:fe3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13212 errors:0 dropped:0 overruns:0 frame:0
TX packets:1696 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3760852 (3.7 MB) TX bytes:238743 (238.7 KB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:558 errors:0 dropped:0 overruns:0 frame:0
TX packets:558 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:72352 (72.3 KB) TX bytes:72352 (72.3 KB)

wlp4s0 Link encap:Ethernet HWaddr a4:02:b9:0a:76:b1
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
2.命令行添加或修改网络参数

zhuml@zhuml-Latitude-3350:~$ sudo gedit /etc/network/interfaces
当然,如果黑窗口下,操作不了gedit,那就把它换成vi或者vim吧

sudo gedit /etc/network/interfaces

弹出一个文本窗,如下:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
在里面添加以太网的相关信息

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto esp3s0
iface esp3s0 inet dhcp
3.重启网络

zhuml@zhuml-Latitude-3350:~$ sudo /etc/init.d/networking restart
如果能上网,就继续按照(二)的最后的更新步骤来,不能的话,咱们最差也是和我一样嘛

压箱底的老外上网的解决方法:

I also have same problem. Strangely, the wired network won't work, while the wireless network can connect to a 802.1x network.Anyway, in my case, I can not fix it, but can workaround by modify the interface file Let the NetworkManager bypass the interface.

In the /etc/network/interface file

auto enp0s25
iface enp0s25 inet dhcp
wpa-driver wired
wpa-conf /etc/wpa_supplicant/wpa_wired.conf
and in your /etc/wpa_supplicant/wpa_wired.conf file

network={
key_mgmt=IEEE8021X
eap=PEAP
phase2="auth=MACHAPV2"
identity="youridentity"
password="yourpassword"
}
In my case, I can connect to network temporary.

以上,是带有用户名、密码的网线连接方式,还连不上,嗯嗯,没事,我也没连上

三)、环境变量

为什么会相到是这里的问题呢,可能看着跨度比较大,由于能进命令行窗口,于是我按照关键字,“Ubuntu无法进入图形界面”,搜索,发现一篇给力清奇的文章:https://blog.csdn.net/darren2015zdc/article/details/73910766

如果你配置完ubuntu 然后进不去图形界面,然后你就重启电脑,然后再shift+alt+f1键进入ubuntu的终端模式下面进行操作,然后你就创建一个root用户(如果有就不用了)创建root用户方法:sudo passwd root 创建完root用户 然后就以root身份 进入你之前配置过的环境变量 配置的哪个就把哪个删除掉,用vi操作,然后重启,就完全恢复原来的问题,然后再看下面的文章,究竟是什么东西在作怪。

查找错误后才发现,原来,ubuntu 再启动的时候读取配置文件,并设置环境变量的顺序是这样的:

1、在登录时,操作系统定制用户环境时使用的第一个文件就是 /etc/profile ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、在登录时操作系统使用的第二个文件是 /etc/environment ,系统在读取你自己的profile前,设置环境文件的环境变量。

3、在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.
当bash shell 被打开时,该文件被读取.
因此,查看我的配置文件后发现!原来错误就出现在这里,这是我原来的.profile配置文件

export JAVA_HOME=/usr/jdk1.6.0_21
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
因为,系统启动时会先读取/etc/profile , 然后读取 /etc/environment ,最后才是.profile 文件
这时,如果你在.profile 中也设置了环境变量PATH ,就会覆盖原来/etc/environment 中设置的环境变量PATH !
所以,问题就出在了这一步!
那么解决办法就是,在设置.profile 的环境变量时,在PATH=的最前面加上 $PATH
修改后的.profile 文件如下:

export JAVA_HOME=/usr/jdk1.6.0_21
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

 


重启之后,还是冰冷的黑窗口;赞同他的方法是因为,我是前一天也安装了java,修改了环境变量,虽然没解决,但是挺好的

四)、锁定nvidia显卡自动更新

 

按照关键字sda1: clean、nvme0n1 : clean好多都指向显卡的问题,打算卸载显卡再安装

由于之前安装nvidia显卡驱动的时候,其中有一步,是把nouveau关闭:

ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。

编辑文件blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf
在文件最后部分插入以下两行内容

blacklist nouveau
options nouveau modeset=0
更新系统

sudo update-initramfs -u
接下来就是常规的安装nvidai驱动的步骤了,但有些细节得注意:

1)现在黑窗口,电脑没网

2)外接存储设备,得挂载;有挂载,就会有卸载

五)、安装nvidia驱动

1、挂载存储设备:

获取挂载权限

sudo -i

#输入密码
找到待存储设备的目录(Linux系统中设备即文件)

fdisk -l
# /dev/sdb1
将存储设备挂载到系统某个位置

mount /dev/sdb1 /mnt/wang
现在设备所有文件被挂载到了/mnt/wang目录中,进入目录查看内容,找到下载好的相应的nvidia驱动

cp /mnt/wang/NVIDIA*.run ~/
意思就是把储存设备什么的驱动拷贝到你经常使用的目录,建议用户名的根目录,因为进入TTY黑窗口界面,开始的时候,就是这里
然后就可以卸载设备了

sudo umount /dev/sdb1
注意不能够在/media/wang目录下输入卸载命令,因为你正在访问设备

接下来干正事了,进入到刚才拷贝了驱动的文件夹

赋予驱动执行权限
sudo chmod a+x NVIDIA*.run

执行安装驱动
sudo ./NVIDIA-Linux-x86_64-384.59.run –no-x-check -no-nouveau-check -no-opengl-files
–no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。
–no-x-check:表示安装驱动时不检查X服务,非必需。
–no-nouveau-check:表示安装驱动时不检查nouveau,非必需。
过程中会可能出现一下:

The distribution-provided pre-install script failed! Are you sure you want to continue?
读懂的话,挺吓人的,还好我看不懂;一切都是paper tiger 选择“yes”

Nvidia's 32-bit compatibility libraries?
安装32链接库吗, No

Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
不知道会不会是更新驱动的意思,第一次安装的时候,选择了yes导致我捣鼓了一天,现在果断no;当然是不是,我不确定哈

挂载:

modprobe nvidia
查看nvidia驱动:

nvidia-smi
成功的话,进入图形界面:

sudo init 5
ctrl + alt + f7 (具体是f几不知道了,有的ubuntu的f1是图形化界面,有的是其它)
sudo service lightdm restart
这三种都可以,不过我没试,我还是喜欢 reboot
————————————————
版权声明:本文为CSDN博主「王20133」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013862444/article/details/103005800

posted @ 2021-11-22 10:20  AnswerThe  阅读(2209)  评论(0编辑  收藏  举报