【Linux_install】詳細的Ubuntu和win雙系統安裝指南

来源:https://www.cnblogs.com/UnderTurrets/p/18367936
-Advertisement-
Play Games

@目錄1.前期準備1.1 製作啟動盤1.2關閉快速啟動、安全啟動、bitlocker1.2.1 原因1.2.2 進入BIOSshell命令行進入BIOSwindows設置中高級啟動在開機時狂按某個鍵進入BIOS1.2.3 關閉Fast boot和Secure boot1.3 劃分磁碟空間1.3.1 ...


@

目錄


本文介紹了在windows環境下從零開始安裝Ubuntu系統的方法,並提供了卸載Ubuntu系統的步驟,還介紹了一些在Ubuntu系統下查找、安裝、卸載軟體的方法。

1.前期準備

1.1 製作啟動盤

先下載一下Ubuntu系統映像。官網下載得比較慢,可以去其他鏡像源網站下載比如清華源。下載好的鏡像是iso尾碼。

隨便準備一個硬碟(U盤),不需要用太好的硬碟,而且製作啟動盤之後硬碟裡面所有的內容都會銷毀。然後用一些硬碟製作工具燒錄進去即可。這裡推薦rufus。下麵演示一下操作:

在這裡插入圖片描述

選擇好映像文件之後什麼都不用動,一路確定之後就是等待燒錄完成。由於rufus不會自動彈出燒錄完成的彈窗,有的小白可能不知道燒錄完成了,這裡我們只要等狀態進度條跑滿就好了

1.2關閉快速啟動、安全啟動、bitlocker

1.2.1 原因

  • 在安裝時,我們要進入的是啟動盤。如果不關閉快速啟動,電腦就會快速地載入Windows系統,進不去啟動盤。
  • 如果不關閉安全啟動,電腦可能會拒絕載入不受信任的外部設備,從而無法進入啟動盤。
  • 如果不關閉bitlocker,外部設盤就無法對硬碟進行寫入,也就無法安裝。這個關閉比較容易,請自行查閱資料,此處就不具體講解了。

1.2.2 進入BIOS

進入主板的BIOS界面可以關閉。BIOS是英文"Basic Input Output System"的縮略詞,直譯過來後中文名稱就是"基本輸入輸出系統"。在IBM PC相容系統上,是一種業界標準的固件介面。BIOS是個人電腦啟動時載入的第一個軟體,是一組固化到電腦內主板上一個ROM晶元上的程式,它保存著電腦最重要的基本輸入輸出的程式、開機後自檢程式和系統自啟動程式,它可從CMOS中讀寫系統設置的具體信息。 其主要功能是為電腦提供最底層的、最直接的硬體設置和控制。此外,BIOS還向作業系統提供一些系統參數。系統硬體的變化是由BIOS隱藏,程式使用BIOS功能而不是直接控制硬體。現代作業系統會忽略BIOS提供的抽象層並直接控制硬體組件。

這裡列舉幾種進入BIOS界面的方法。

shell命令行進入BIOS

首先查詢一下shutdown.exe指令的用法

PS C:\Users\Xu Han> shutdown.exe
用法: C:\Windows\system32\shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    沒有參數   顯示幫助。這與鍵入 /? 是一樣的。
    /?         顯示幫助。這與不鍵入任何選項是一樣的。
    /i         顯示圖形用戶界面(GUI)。
               這必須是第一個選項。
    /l         註銷。這不能與 /m 或 /d 選項一起使用。
    /s         關閉電腦。
    /sg        關閉電腦。在下一次啟動時,如果啟用了
               自動重啟登錄,則將自動登錄並鎖定上次交互用戶。
               登錄後,重啟任何已註冊的應用程式。
    /r         完全關閉並重啟電腦。
    /g         完全關閉並重啟電腦。重新啟動系統後,
               如果啟用了自動重啟登錄,則將自動登錄並
               鎖定上次交互用戶。
               登錄後,重啟任何已註冊的應用程式。
    /a         中止系統關閉。
               這隻能在超時期間使用。
               與 /fw 結合使用,以清除任何未完成的至固件的引導。
    /p         關閉本地電腦,沒有超時或警告。
               可以與 /d 和 /f 選項一起使用。
    /h         休眠本地電腦。
               可以與 /f 選項一起使用。
    /hybrid    執行電腦關閉併進行準備以快速啟動。
               必須與 /s 選項一起使用。
    /fw        與關閉選項結合使用,使下次啟動轉到
               固件用戶界面。
    /e         記錄電腦意外關閉的原因。
    /o         轉到高級啟動選項菜單並重新啟動電腦。
               必須與 /r 選項一起使用。
    /m \\computer 指定目標電腦。
    /t xxx     將關閉前的超時時間設置為 xxx 秒。
               有效範圍是 0-315360000 (10 年),預設值為 30。
               如果超時期限大於 0,則 /f 參數為
               /f 參數。
    /c "comment" 註釋重啟或關閉的原因。
               最多允許 512 個字元。
    /f         強制關閉正在運行的應用程式而不事先警告用戶。
               當大於 0 的值為
 時,隱含 /f 參數               則默示為 /f 參數。
    /d [p|u:]xx:yy  提供重新啟動或關閉的原因。
               p 指示重啟或關閉是計劃內的。
               u 指示原因是用戶定義的。
               如果未指定 p 和 u,則
重新啟動或關閉               是計劃外的。
               xx 是主要原因編號(小於 256 的正整數)。
               yy 是次要原因編號(小於 65536 的正整數)。

此電腦上的原因:
(E = 預期 U = 意外 P = 計劃內,C = 自定義)
類別    主要    次要    標題

 U      0       0       其他(計劃外)
E       0       0       其他(計劃外)
E P     0       0       其他(計劃內)
 U      0       5       其他故障: 系統沒有反應
E       1       1       硬體: 維護(計劃外)
E P     1       1       硬體: 維護(計劃內)
E       1       2       硬體: 安裝(計劃外)
E P     1       2       硬體: 安裝(計劃內)
E       2       2       操作系統: 恢復(計劃外)
E P     2       2       操作系統: 恢復(計劃內)
  P     2       3       操作系統: 升級(計劃內)
E       2       4       操作系統: 重新配置(計劃外)
E P     2       4       操作系統: 重新配置(計劃內)
  P     2       16      操作系統: Service Pack (計劃內)
        2       17      操作系統: 熱修補(計劃外)
  P     2       17      操作系統: 熱修補(計劃內)
        2       18      操作系統: 安全修補(計劃外)
  P     2       18      操作系統: 安全修補(計劃內)
E       4       1       應用程式: 維護(計劃外)
E P     4       1       應用程式: 維護(計劃內)
E P     4       2       應用程式: 安裝(計劃內)
E       4       5       應用程式: 沒有反應
E       4       6       應用程式: 不穩定
 U      5       15      系統故障: 停止錯誤
 U      5       19      安全問題(計劃外)
E       5       19      安全問題(計劃外)
E P     5       19      安全問題(計劃內)
E       5       20      網路連接丟失(計劃外)
 U      6       11      電源故障: 電線被拔掉
 U      6       12      電源故障: 環境
  P     7       0       舊版 API 關機

然後我們就知道用如下命令就可以高級啟動

shutdown.exe -o -r -t 0

通過高級啟動,然後選擇疑難解答-高級選項-UEFI固件設置,就可以進入BIOS了

在這裡插入圖片描述

windows設置中高級啟動

如圖,高級啟動後同上。

在這裡插入圖片描述

在開機時狂按某個鍵進入BIOS

這個按鍵根據機型有所不同,可以自行查閱,以下是一些常用的:

機型 方式
華碩Asus、神舟Hasee、小米、海爾、明基、技嘉、方正、清華同方、雷神、未來人類、外星人 啟動時按F2
戴爾dell 啟動和重新啟動時按F2
微星msi 啟動時按Delete
惠普hp 啟動和重新啟動時按F2或者F10,或者先按ESC再按F10
ibm/thinkpad 冷開機按F1,部分新型號可以在重新啟動時啟動按F1,少數機型是Fn+F1或F2

1.2.3 關閉Fast bootSecure boot

這個根據主板BIOS的圖形化界面有所不同,但多半都在Boot這一欄目中,以下列舉一下華碩的:

在這裡插入圖片描述

在這裡插入圖片描述

1.3 劃分磁碟空間

磁碟管理中,划出一塊分區用作Ubuntu的空間即可,不需要分配。下圖我划出了100GB。

在這裡插入圖片描述

這裡建議留出充足的空間,否則後續空間不足擴容將極為麻煩。因為Linux在大多數情況下不能向左擴容。

1.3.1 查看目前的虛擬記憶體大小

等會安裝Ubuntu的時候,可能會需要手動分區,需要設置虛擬記憶體的大小,這裡可以先查看win系統下的虛擬記憶體大小作為參考:

在這裡插入圖片描述

2.開始安裝

2.1 使用啟動盤啟動

2.1.1 法一:BIOS調整啟動順序

關機進入BIOS,在Boot那一欄選擇啟動順序,找到你的啟動盤的名字,調整到最優先即可。

2.1.2 法二:使用windows高級啟動直接進入啟動盤

高級啟動後,點擊使用設備即可。

2.2 語言

語言方面,對於自己英語有信心的可以選擇英語。

2.3 聯網

暫時先不要聯網,不然等會會自動下載,安裝會很慢。

選擇最小安裝或者正常安裝都是可以的。

2.4 分區

2.4.1 與windows共存

網上很多教程都在極力勸說不要選擇第一個選項與windows共存,實際上,Ubuntu會自動檢測空白的分區(就是我剛剛分配的100GB),並不會覆蓋windows的文件數據。

在下圖中,nvme1是我的第二塊硬碟,我在windows下使用了nvme1p1分區,而Ubuntu很完美地避開了這一塊區域,自動做出了相應的更改。

在這裡插入圖片描述

nvme的意思是我的這塊硬碟是nvme固態硬碟。p1的意思是partition 1,即第一分區。

2.5 合併分區

在這裡插入圖片描述

其實,這裡Ubuntu自動分出的nvme1n1p2作為ESP分區也是沒必要的。因為我們是雙系統,後續還是用grub啟動,不需要再劃分EFI系統啟動分區。因此,後續我們可以把這個扇區合併到根目錄下。

合併的方法比較多,無論是win系統還是Linux,都有圖形化的界面,這裡就不演示了。

而且,如果不合併這個ESP分區的話,我們是沒有辦法再進行擴容的。因為硬碟只能合併相鄰的扇區。 nvme1n1p2阻隔了nvme1n1p1和nvme1n1p3,而我們在擴容時希望把nvme1n1p1的空間划出一些給nvme1n1p3,這是一種向左擴容的操作,比較麻煩,請看筆者的另一篇篇教程

2.4.2 如果要手動分區...

這裡建議分三個區:

  1. 划出256MB用於 EFI系統分區,邏輯分區,並設置安裝啟動引導器的設備為你剛剛設置的EFI系統分區的分區。這裡千萬不要安裝啟動引導器的設備你的windows系統的efi啟動分區重合,否則你的兩個系統都啟動不了!

在這裡插入圖片描述

在這裡插入圖片描述

  1. 划出一些空間用於交換空間,邏輯分區,作為虛擬記憶體使用。分配的大小可以使用在1.3.1中查看的推薦

在這裡插入圖片描述

  1. 其他所有空間都用於預設的Ext4日誌文件系統,主分區,掛載點/

在這裡插入圖片描述

  1. 對於其他諸如/usr/home這樣的掛載點,是可以不手動選擇的。這樣的話,/home/usr這些目錄就會自動與/根目錄共用一塊磁碟的分區,這也是符合Windows用戶的文件樹方式。

主分區和邏輯分區

這裡稍微解釋一下主分區和邏輯分區的區別。對於一塊硬碟來說,主分區只能有4個。 因此,我們最好把交換空間設置為邏輯分區。

在windows下,文件樹是基於硬碟的分區的,windows系統會自動給硬碟的分區分配盤符。下麵,我的C盤就是硬碟0的第0分區:

DISKPART> list disk

  磁碟 ###  狀態           大小     可用     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  磁碟 0    聯機              476 GB  1024 KB        *
  磁碟 1    聯機              953 GB  1024 KB

DISKPART> sel disk 0

磁碟 0 現在是所選磁碟。

DISKPART> list partition

  捲 ###      LTR  標簽         FS     類型        大小     狀態       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  捲     0     C   這很C          NTFS   磁碟分區         453 GB  正常         啟動
  捲     1         RESTORE      NTFS   磁碟分區          22 GB  正常
  捲     2     Z   SYSTEM       FAT32  磁碟分區         260 MB  正常         系統
  捲     3         RECOVERY     NTFS   磁碟分區         750 MB  正常         已隱藏
  捲     4         MYASUS       FAT32  磁碟分區         200 MB  正常         已隱藏
  捲     5     D                NTFS   磁碟分區         953 GB  正常

DISKPART>

而我C盤中的所有的目錄,都在磁碟0的分區0之內,不可能在其他分區。

但是在Linux中,同一目錄下的兩個子目錄可以分管磁碟的兩個分區。比方說,/home可以獨占磁碟1的第1分區,/usr也可以獨占磁碟1的第2分區,但/home/usr都是在根目錄/之下的。

3.完全卸載Ubuntu

3.1 刪除Ubuntu分區

磁碟管理中,Ubuntu作為系統分區,是無法直接在圖形化界面中操作的,如圖中的win分區一樣:

在這裡插入圖片描述

因此需要使用diskpart工具去刪除之前建立的分區:

管理員許可權打開shell,列出所有磁碟(如果您有多個磁碟的話)並選中存放了Ubuntu的磁碟,然後,列出所有捲並逐一選中Ubuntu的分區刪除。

DISKPART> list disk  //列出所有磁碟
DISKPART> sel disk 1  //選中目標磁碟
DISKPART> list partition  //列出磁碟所有分區
DISKPART> sel partition2  //選中目標分區
DISKPART> delete partition override  //刪除目標分區

然後就可以在磁碟管理中直接合併了,剛剛划出的100GB又回來了!

在這裡插入圖片描述

3.2 刪除Ubuntu殘餘的efi引導(切記)

如果你忘記了刪除Ubuntu殘餘的efi引導就關機,那麼可以直接跳到此處了,你的windows系統已經進不去了!

管理員許可權打開shell,找到並選中SYSTEM分區,分配捲標,然後刪除Ubuntu

PS C:\Users\Xu Han> diskpart.exe

Microsoft DiskPart 版本 10.0.22621.1

Copyright (C) Microsoft Corporation.
在電腦上: LAPTOP-3V5JAOO8

DISKPART> sel disk 0

磁碟 0 現在是所選磁碟。

DISKPART> list vol

  捲 ###      LTR  標簽         FS     類型        大小     狀態       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  捲     0     C   這很C          NTFS   磁碟分區         453 GB  正常         啟動
  捲     1         RESTORE      NTFS   磁碟分區          22 GB  正常
  捲     2         SYSTEM       FAT32  磁碟分區         260 MB  正常         系統
  捲     3         RECOVERY     NTFS   磁碟分區         750 MB  正常         已隱藏
  捲     4         MYASUS       FAT32  磁碟分區         200 MB  正常         已隱藏
  捲     5     D                NTFS   磁碟分區         853 GB  正常


DISKPART> sel vol 2

捲 2 是所選捲。

DISKPART> assign letter=Z

DiskPart 成功地分配了驅動器號或裝載點。

分配完捲標後,再次用管理員許可權打開shell,然後進入剛剛我們分配的捲標,刪除即可:

PS C:\Users\Xu Han> cd Z:
PS Z:\> ls


    目錄: Z:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/1/18     22:59                EFI


PS Z:\> cd .\EFI
PS Z:\EFI> ls


    目錄: Z:\EFI


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2022/6/10     23:32                Microsoft
d-----         2024/1/18     22:59                Boot
d-----         2024/1/18     22:59                ubuntu


PS Z:\EFI> rmdir .\ubuntu\

確認
Z:\EFI\ubuntu\ 處的項具有子項,並且未指定 Recurse 參數。如果繼續,所有子項均將隨該項刪除。是否確實要繼續?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暫停(S)  [?] 幫助 (預設值為“Y”): Y

這裡千萬別刪錯了,要是把Microsoft刪了,win系統就無法啟動了!

4.基礎環境配置

4.1 換源以及更新

如果不進行換源,使用apt下載的速度將變得令人難以忍受的慢

目前,換源完全只需要滑鼠點點點就可以完成了,打開應用列表裡的Software & Updates,選擇中國的鏡像源即可,我這裡選的mirror.nju.edu.cn是南京大學的。

在這裡插入圖片描述
換好源之後輸入以下兩個指令去更新和升級:

sudo apt update
sudo apt upgrade

4.2 deb類應用安裝

使用dpkg命令即可。qq,網盤在官網下載的都是deb類文件。下麵以qq為例子,官網下載好文件,終端輸入指令即可,別忘記加上--install或者-i

在這裡插入圖片描述

4.3 軟體包管理

修複依賴關係(經常用到)

sudo apt -f install

查看安裝歷史

  • /var/log/apt/history.log保存apt安裝的歷史記錄。
  • /var/log/dpkg.log保存dpkg安裝的歷史記錄。

關鍵字查找軟體包

  • 查找軟體源里所有的
sudo apt list | grep -i <keyword>
  • 查找本機已經安裝的
sudo apt list  --installed | grep -i <keyword>

卸載

  • 僅卸載
sudo apt remove <name of software>

以卸載qq為例:

sudo apt remove linuxqq
  • 卸載並刪除配置文件
sudo apt purge <name of software>

清理

  • 自動刪除不再需要的軟體包
sudo apt autoclean
  • 刪除已經安裝過的軟體包
sudo apt clean
  • 自動刪除不再需要的依賴
sudo apt autoremove

本文由博客一文多發平臺 OpenWrite 發佈!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:背景 1. 講故事 前些天有位朋友找到我,說他們的系統出現了CPU 100%的情況,讓我幫忙看一下怎麼回事?dump也拿到了,本想著這種情況讓他多抓幾個,既然有了就拿現有的分析吧。 二:WinDbg 分析 1. 為什麼會爆高 既然說是 100%,作為調試者得拿數據說話,可以使用 !tp 來觀測一 ...
  • Docker部署.netCore6 第一步:在項目添加Docker支持 第二步:選擇Windows(如果是linx系統就選擇linx)和Dockerfile 第三步:生成Docker預設文件 把預設代碼修改 第四步:修改Dockerfile文件屬性(如果不修改則會導致發佈的時候Docker文件沒有一 ...
  • 項目使用ABP框架,最近有需求數據量會持續變大,需要分表存儲。 發現ShardinfCore可以快速實現EF分表操作,並且作者@薛家明還特別為ABP集成寫了教程,完美的選擇。 ShardinfCore作者教程很齊全,這次以ABP 8.*的用戶視角進行集成記錄,希望幫到需要的人。 開發環境: ABP ...
  • IoTClient 是一個針對物聯網 (IoT) 領域的開源客戶端庫,它主要用於實現與各種工業設備之間的通信。這個庫是用 C# 編寫的,並且基於 .NET Standard 2.0,這意味著可以用於多個版本的.NET,包括 .NET Framework、.NET Core、.NET 5 及以上版本,... ...
  • WPFUI報錯 page does not have a parameterless constructor. If you are using Wpf.Ui.IPageService do not navigate initially and don't use Cache or Precache ...
  • 邁信達音視頻字幕軟體(MaixindaSubtitle)是一款專註於自動化視頻轉錄文本、字幕製作、字幕翻譯的AI自動化字幕軟體。通過AI一鍵生成本地音頻與視頻的字幕文件,及翻譯字幕內容。使用AI提取音視頻對話內容後翻譯、生成字幕文件,可以低成本並高效地將任意語言的視頻、音頻轉錄並翻譯為目標語言,適用 ...
  • 前言 在Web應用項目中許可權認證是個繞不開的話題,傳統方法複雜又耗時。MiniAuth推出專為.NET開發者設計的簡單、實用的許可權認證項目。 MiniAuth,作為ASP.NET Core的插件,讓我們快速輕鬆實現用戶登錄、許可權檢查等功能。它支持多種認證方式,如JWT、Cookie,且易於集成到現有 ...
  • 案例 案例一 server.c #include <stdio.h> // 標準輸入輸出 #include <stdlib.h> //提供通用的工具函數,例如記憶體分配和程式退出。 #include <string.h> //提供字元串處理函數。 #include <unistd.h> //提供對 P ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...