一)、修改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