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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章