- 折騰gentoo有段時(shí)間, 趁著放假蜂怎,做做筆記验靡;根據(jù)官網(wǎng)的 Gentoo Handbook 來一步步記錄裝gentoo的詳細(xì)過程。
A.安裝前的一些準(zhǔn)備
注意:最小CD鏡像的安裝旅急,必須要在聯(lián)網(wǎng)下進(jìn)行!D嫡藐吮!
另外:安裝過程中提示 需要添加 USE 時(shí),請(qǐng)按照提示在 /etc/protage/make.conf 文件中添加 USE=“ 提示的USE關(guān)鍵字 ” 即可逃贝。
如果提示needs updating
則運(yùn)行:
etc-update
然后輸入-3
-> 回車 -> yes ,之后在重新裝一次即可谣辞。
1.本次安裝使用臺(tái)式機(jī)電腦
CPU: Intel Core i7-7700 @ 8x 4.2GHz
GPU: GeForce GTX 1060 6GB
2.下載鏡像(amd64)
gentoo的安裝使用了最小鏡像+stage3的方式
這里只下載最小鏡像 install-amd64-minimal-20180920T214502Z.iso 即可,文件網(wǎng)址可能失效沐扳,建議去Gentoo官網(wǎng)
下載泥从。
最小CD鏡像:Minimal Installation CD 2018-09-20
stage archives: Stage3 2018-09-20
默認(rèn)鏡像源是國(guó)外的服務(wù)器,所以下載鏡像時(shí)沪摄,需要選擇國(guó)內(nèi)鏡像源來下載躯嫉,否則奇慢無比!
-
進(jìn)入官網(wǎng)下載頁(yè)面
-
選擇國(guó)內(nèi)鏡像源目錄
- 選擇鏡像源
點(diǎn)擊鏡像源之后進(jìn)入文件下載網(wǎng)站杨拐。然后依次點(diǎn)擊:
releases -> amd64 -> autobuilds -> current-install-amd64-minimal
最后來到下面這個(gè)頁(yè)面祈餐,點(diǎn)擊如圖所示文件,即可下載最新鏡像文件:
3.刻錄優(yōu)盤
下載完鏡像文件后哄陶,在linux下可以采用dd鏡像寫入方式帆阳,在win下可以使用一些常見的優(yōu)盤啟動(dòng)制作軟件,比如:rufus等屋吨。
- Linux下使用
dd
命令:
#linux 下
$ sudo if=iospath of=usb
-
windows下使用 rufus 軟件:
選擇分區(qū)方案:'用于UEFI 計(jì)算機(jī)的GPT分區(qū)方案'
選擇下載好的鏡像文件
底部會(huì)提示使用的鏡像文件舱痘,然后點(diǎn)擊 開始
選擇鏡像寫入方式
寫入中
寫入完成后提示準(zhǔn)備就緒,關(guān)閉軟件即可
B. 開始安裝
將刻錄的優(yōu)盤插入待安裝的電腦离赫,然后使用默認(rèn)gentoo內(nèi)核啟動(dòng),由于版本更新塌碌,啟動(dòng)方式可能不同渊胸。
啟動(dòng)之后
1.檢查網(wǎng)絡(luò)
ping www.baidu.com
執(zhí)行之后,能ping通的話台妆,說明可以正常連上網(wǎng)絡(luò):
如果是臺(tái)式機(jī)用的有線網(wǎng)翎猛,所有基本上不用怎么配置胖翰,
但如果是筆記本的話,則要配置一下無線網(wǎng)絡(luò)切厘,具體的配置方式請(qǐng)看 Gentoo Handbook 萨咳,這里僅作參考:
系統(tǒng)安裝優(yōu)盤啟動(dòng)之后默認(rèn)是鎖定wifi的,以我的筆記本為例:
rfkill list all
此時(shí)需要解鎖:
rfkill unblock all
rfkill list all
然后啟用wifi端口:
注意:wlp0s20f3 為本機(jī)WiFi網(wǎng)卡名稱疫稿,具體的名稱以自己的為主培他,查看網(wǎng)卡名稱的命令: ls /sys/class/net
ip link set dev wlp0s20f3 up
最后連接wifi:
net-setup wlp0s20f3
根據(jù)提示輸入wifi 名稱和密碼即可。
檢查是否連上wifi:
iw dev wlp0s20f3 link
如果沒連上會(huì)提示 No connect,否則會(huì)出現(xiàn)連上的wifi信息遗座。
2.磁盤分區(qū)
關(guān)于磁盤分區(qū)舀凛,需要根據(jù)自己的硬盤做出調(diào)整,以下的分區(qū)方式僅供參考途蒋!
此時(shí)的電腦上有一個(gè)M.2的固態(tài)猛遍,和兩個(gè)機(jī)械硬盤,一個(gè)優(yōu)盤
磁盤 | 說明 | 分區(qū)列表 |
---|---|---|
/dev/nvme0n1 | M.2固態(tài) | /grub号坡、/boot懊烤、/ |
/dev/sda | 機(jī)械硬盤1 | /home、swap |
/dev/sdb | 機(jī)械硬盤2 | 未分區(qū) |
/dev/sdc | 優(yōu)盤 | 未分區(qū) |
2.1 針對(duì) /dev/nvme0n1 固態(tài)的分區(qū)(分區(qū)工具有fdisk宽堆、cfdisk腌紧、parted等):
使用 UEFI 做引導(dǎo)時(shí),可以同時(shí)識(shí)別 MBR 和 GPT 分區(qū)
但是在 Windows 系統(tǒng)下只能使用 GPT 分區(qū)類型
為方便以后裝雙系統(tǒng)日麸,這里使用 GPT 分區(qū)類型
分區(qū)數(shù)量:/grub寄啼、/boot、/
#使用 parted 分區(qū)工具
parted /dev/nvme0n1
parted基本操作
#查看操作說明
(parted) help
#設(shè)置 gpt 分區(qū)類型 注意:這個(gè)設(shè)置會(huì)格式化整個(gè)磁盤
(parted) mklabe gpt
#容量查看 MB
(parted) unit mib
#分區(qū)大小 start:起始容量 end:結(jié)束容量代箭,分區(qū)大卸栈:end - start
(parted) mkpart primary start end
#打印整個(gè)磁盤分區(qū)
(parted) print
a. 啟動(dòng)分區(qū):10MB
(parted) mkpart primary 1 11
(parted) name 1 grub
(parted) set 1 bios_grub on
b. 引導(dǎo)分區(qū):128MB
注意:如果你是在 win10(舉例) 下安裝的 gentoo ,想組雙系統(tǒng)的話,那么你需要保證已有一個(gè) EFI分區(qū)(這個(gè)分區(qū)在你安裝 win10 時(shí)會(huì)自動(dòng)生成)嗡综,此時(shí)直接跳過 ‘引導(dǎo)分區(qū)’ 這一步乙帮。
使用UEFI接口引導(dǎo)系統(tǒng)(而不是BIOS)時(shí),將引導(dǎo)分區(qū)標(biāo)記為EFI系統(tǒng)分區(qū)极景。當(dāng)在分區(qū)上設(shè)置引導(dǎo)選項(xiàng)時(shí)察净,Parted會(huì)自動(dòng)執(zhí)行此操作,完成后會(huì)有一個(gè)esp標(biāo)志:
(parted) mkpart primary 11 139
(parted) name 2 boot
(parted) set 2 boot on
c. 根分區(qū):110GB
(parted) mkpart primary 139 112779
(parted) name 3 root
d. M.2固態(tài)分區(qū)過程圖
2.2 針對(duì) /dev/sda機(jī)械硬盤1的分區(qū)(分區(qū)工具有fdisk盼樟、cfdisk氢卡、parted等):
分區(qū)數(shù)量:/home、swap
#使用 parted 分區(qū)工具
parted /dev/sda
parted基本操作
#查看操作說明
(parted) help
#容量查看 GB
(parted) unit Gib
#分區(qū)大小 start:起始容量 end:結(jié)束容量晨缴,分區(qū)大幸肭亍:end - start
(parted) mkpart primary start end
#打印整個(gè)磁盤空閑分區(qū)
(parted) print free
a. swap分區(qū):10GB
(parted) mkpart primary 0 10
b. home分區(qū):290GB
(parted) mkpart primary 10 300
c. 機(jī)械硬盤1分區(qū)過程圖
3. 格式化分區(qū)
分區(qū) | 格式 |
---|---|
/boot | fat32 |
/ | ext4 |
/home | ext4 |
swap | none |
a. 格式化啟動(dòng)分區(qū)
mkfs.ext2 /dev/nvme0n1p
b. 格式化引導(dǎo)分區(qū)
官方UEFI規(guī)范表示UEFI固件將識(shí)別FAT12,16或32文件系統(tǒng),但建議ESP使用FAT32。繼續(xù)將ESP格式化為FAT32:
注意:如果你是在 win10(舉例) 下安裝的 gentoo ,想組雙系統(tǒng)的話筑悴,那么你需要保證已有一個(gè) EFI分區(qū)(這個(gè)分區(qū)在你安裝 win10 時(shí)會(huì)自動(dòng)生成)们拙,此時(shí)直接跳過 ‘格式化引導(dǎo)分區(qū)’ 這一步。
mkfs.fat -F 32 /dev/nvme0n1p2
c. 格式化根分區(qū)
mkfs.ext4 /dev/nvme0n1p3
d. 格式化home分區(qū)
mkfs.ext4 /dev/sda3
e. 格式化并啟用swap
mkswap /dev/sda2
swapon /dev/sda2
4. 掛載分區(qū)
所有分區(qū)格式化完成之后阁吝,掛載分區(qū)到/mnt/gentoo下:
注意:EFI 引導(dǎo)需要在 boot 下創(chuàng)建一個(gè) efi 目錄
#創(chuàng)建boot home目錄
mkdir -p /mnt/gentoo/boot/efi
mkdir /mnt/gentoo/home
mount /dev/nvme0n1p3 /mnt/gentoo
mount /dev/nvme0n1p2 /mnt/gentoo/boot/efi
mount /dev/sda3 /mnt/gentoo/home
掛載完之后可以使用mount 命令
檢查一下掛載是否成功砚婆,沒有掛載成功的需要重新掛載一下:
mount
5.下載stage3
a. 驗(yàn)證時(shí)間
當(dāng)前時(shí)間:9月22日 17:08 2018
date
#Sat Sep 22 09:12:08 UTC 2018
時(shí)間顯示應(yīng)與當(dāng)前日期為準(zhǔn)
舉例
#本地時(shí)間:9月22日 17:08 2018
#設(shè)置時(shí)間: 9月22日 17:08 2018
date 092217082018
b. 下載stage3
官方源默認(rèn)是國(guó)外服務(wù)器,所以需要在國(guó)內(nèi)源中下載stage3文件:
cd /mnt/gentoo
links https://mirrors.163.com/gentoo/releases/amd64/autobuilds/current-install-amd64-minimal/
此時(shí)出現(xiàn)一個(gè)命令行網(wǎng)頁(yè)瀏覽器突勇,選擇stage3下載即可装盯。
下載完之后,按
ESC -> 回車 -> Exit -> 回車
退出c. 解壓stage3
文件名按自己下載的為準(zhǔn)
time tar xvf stage3-amd64-20180920T214502Z.tar.xz
d. 配置 /etc/portage/make.conf
首先与境,要知道自己的電腦cpu核心數(shù)
然后設(shè)置變量 :MAKEOPTS="-j核心數(shù)+1"
檢查電腦核心數(shù):
cat /proc/cpuinfo | grep processor
還有一種比較簡(jiǎn)單的方法验夯,使用
top
命令,然后按數(shù)字鍵 1摔刁,就會(huì)出現(xiàn)所有cpu的數(shù)量 : %Cpu0 - %Cpun 核心數(shù)就是 n+1
所以我的電腦設(shè)置是:
MAKEOPTS="-j9"
執(zhí)行以下命令在最后一行添加配置變量
echo 'MAKEOPTS="-j9"' >> /etc/portage/make.conf
e. 選擇鏡像
將光標(biāo)移至所有國(guó)內(nèi)鏡像地址挥转,然后按空格鍵
確認(rèn),所有選完后共屈,按回車
即可:
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
配置Gentoo ebuild存儲(chǔ)庫(kù):此文件包含更新軟件包存儲(chǔ)庫(kù)所需的同步信息(包含Portage下載和安裝軟件包所需的所有信息的ebuild和相關(guān)文件的集合)
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
接下來绑谣,將Portage提供的Gentoo存儲(chǔ)庫(kù)配置文件復(fù)制到(新創(chuàng)建的)repos.conf目錄中:
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
f. 復(fù)制DNS信息
確保在接下來chroot之后依然能連上網(wǎng)絡(luò)
--dereference
:確保復(fù)制的是文件本身而不是符號(hào)鏈接。
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
g. 掛載文件系統(tǒng)
gentoo默認(rèn)的init系統(tǒng)是OpenRC類型拗引,所有要掛載相關(guān)系統(tǒng)文件借宵,不然有些命令無法使用,在以后修復(fù)系統(tǒng)的時(shí)候矾削,也要記得掛載一下壤玫。
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
如果是安裝init系統(tǒng)為systemd的带污,則需要加 --make-rslave
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
h. 進(jìn)入新環(huán)境
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
i. 從Web安裝ebuild存儲(chǔ)庫(kù)快照
emerge-webrsync
注意:這一步跟上面的選擇鏡像有關(guān)歪泳,如果發(fā)現(xiàn)一直處于執(zhí)行狀態(tài),那么檢查一下文件 /mnt/gentoo/etc/portage/make.conf
是否正確匀泊。
j. 選擇配置
配置列表是實(shí)時(shí)更新的断部,所以需要根據(jù)實(shí)際做出選擇猎贴,這里選擇默認(rèn)12即可,如果是systemd蝴光,則需要選擇帶systemd字樣的配置她渴。
eselect profile list
eselect profile set 12
配置列表
k. 更新@world集
因?yàn)闆]有選擇桌面環(huán)境,所有更新時(shí)間會(huì)短一些蔑祟。
time emerge --ask --quiet --update --deep --newuse @world
這里使用了 --quiet 靜默安裝趁耗,不會(huì)輸出安裝過程。
安裝過程圖
l. 時(shí)區(qū)
選擇本地時(shí)區(qū)
ls /usr/share/zoneinfo/Asia
echo "Asia/Shanghai" > /etc/timezone
更新時(shí)區(qū)
emerge --config sys-libs/timezone-data
m. 配置語(yǔ)言環(huán)境
nano -w /etc/locale.gen
根據(jù)如下修改疆虚,這里需要注意苛败,gentoo默認(rèn)不支持zh_CN.UTF-8右冻,需要
下一步是運(yùn)行l(wèi)ocale-gen。它將生成/etc/locale.gen文件中指定的所有語(yǔ)言環(huán)境著拭。
locale-gen
eselect locale list
eselect locale set 8
這里設(shè)置中文語(yǔ)言
確保設(shè)置了區(qū)域設(shè)置,否則系統(tǒng)會(huì)在內(nèi)核構(gòu)建期間以及安裝后期的其他軟件部署中顯示警告和錯(cuò)誤牍帚。
n. 重新加載環(huán)境:
env-update && source /etc/profile && export PS1="(chroot) $PS1"
o. 安裝內(nèi)核源碼
對(duì)于基于amd64的系統(tǒng)儡遮,Gentoo推薦使用sys-kernel / gentoo-sources包。
選擇適當(dāng)?shù)膬?nèi)核源并使用emerge安裝它:
emerge --ask sys-kernel/gentoo-sources
如果提示needs updating
則運(yùn)行:
etc-update
然后輸入-3
-> 回車 -> yes ,之后在重新裝一次即可暗赶。
p. 配置kernel
這里使用自動(dòng)配置方式鄙币,需要手動(dòng)配置的請(qǐng)看Gentoo Wiki。
安裝kernel自動(dòng)配置工具genkernel
time emerge --ask --quiet sys-kernel/genkernel
安裝時(shí)如果提示
USE changes
蹂随,則運(yùn)行:
etc-update
然后輸入-3
-> 回車 -> yes ,之后在重新執(zhí)行 time emerge --ask --quiet sys-kernel/genkernel
即可十嘿。
安裝完成之后,編輯 /etc/fstab
系統(tǒng)的掛載點(diǎn):
nano -w /etc/fstab
添加如下掛載點(diǎn):
然后開始編譯kernel:
這需要不少的時(shí)間岳锁,可以喝杯茶放松一下~
time genkernel all
編譯完成之后绩衷,檢查一下:
ls /boot/kernel* /boot/initramfs*
#會(huì)顯示兩個(gè)文件
q. 安裝固件
某些驅(qū)動(dòng)程序在工作之前需要在系統(tǒng)上安裝其他固件。這通常是網(wǎng)絡(luò)接口的情況激率,尤其是無線網(wǎng)絡(luò)接口咳燕。此外,在使用開源驅(qū)動(dòng)程序時(shí)乒躺,來自AMD招盲,Nvidia和Intel等供應(yīng)商的現(xiàn)代視頻芯片通常需要外部固件文件。大多數(shù)固件都封裝在sys-kernel / linux-firmware中:
time emerge --ask --quiet sys-kernel/linux-firmware
r. 修改主機(jī)名
nano -w /etc/conf.d/hostname
#將hostname變量設(shè)置為自己取的主機(jī)名字
hostname =“Guard”
其次嘉冒,如果需要域名曹货,請(qǐng)?jiān)?etc/conf.d/net中設(shè)置:
nano -w /etc/conf.d/net
#將dns_domain_lo變量設(shè)置為所選域名
dns_domain_lo =“homenetwork”
如果設(shè)置域名,登錄屏幕會(huì)顯示This is hostname.(none)
想要將它去掉讳推,只需要修改:
nano -w /etc/issue
#將 .\O 刪掉即可
s. 配置網(wǎng)絡(luò)
time emerge --ask --quiet --noreplace net-misc/netifrc
t. 設(shè)置啟動(dòng)時(shí)自動(dòng)啟動(dòng)網(wǎng)絡(luò)
要在引導(dǎo)時(shí)激活網(wǎng)絡(luò)接口顶籽,需要將它們添加到默認(rèn)運(yùn)行級(jí)別。
首先需要知道網(wǎng)絡(luò)接口名稱:
使用 ifconfig
查看是 eth0
娜遵,還是 enp3s0
這里使用 enp3s0:
cd /etc/init.d
ln -s net.lo net.enp3s0
rc-update add net.enp3s0 default
如果在啟動(dòng)系統(tǒng)后我們發(fā)現(xiàn)有關(guān)網(wǎng)絡(luò)接口名稱(當(dāng)前記錄為eth0)的假設(shè)是錯(cuò)誤的蜕衡,那么執(zhí)行以下步驟來糾正這個(gè)問題:
- 使用正確的接口名稱更新/etc/conf.d/net文件(enp3s0而不是eth0)。
- 創(chuàng)建新的符號(hào)鏈接(如/etc/init.d/net.enp3s0)设拟。
- 刪除舊的符號(hào)鏈接(rm /etc/init.d/net.eth0)慨仿。
- 將新的添加到默認(rèn)運(yùn)行級(jí)別。
- 使用rc-update del net.eth0 default刪除舊的纳胧。
u. 設(shè)置主機(jī)hosts
nano -w /etc/hosts
按如下設(shè)置hosts文件镰吆,這里以Guard
為主機(jī)名
v. 設(shè)置root密碼
使用passwd命令設(shè)置root密碼。
passwd
w. 設(shè)置時(shí)鐘
nano -w /etc/conf.d/hwclock
#修改:clock="local"
如果硬件時(shí)鐘未使用UTC跑慕,則必須clock="local"
在文件中進(jìn)行設(shè)置万皿。否則系統(tǒng)可能會(huì)顯示時(shí)鐘偏差行為摧找。
x. 安裝工具
- 系統(tǒng)日志記錄
提供傳統(tǒng)的系統(tǒng)日志記錄守護(hù)程序集。默認(rèn)的日志記錄配置可以很好地開箱即用牢硅,這使得這個(gè)軟件包成為初學(xué)者的一個(gè)很好的選擇蹬耘。
emerge --ask app-admin/sysklogd
rc-update add sysklogd default
- Cron守護(hù)程序
cron守護(hù)程序執(zhí)行計(jì)劃的命令。如果需要定期執(zhí)行某些命令(例如每天减余,每周或每月)综苔,則非常方便。
emerge --ask sys-process/cronie
rc-update add cronie default
- 文件索引
要索引文件系統(tǒng)以提供更快的文件位置功能位岔,請(qǐng)安裝sys-apps / mlocate如筛。
emerge --ask sys-apps/mlocate
- 遠(yuǎn)程訪問
要在安裝后遠(yuǎn)程訪問系統(tǒng),請(qǐng)將sshd init腳本添加到默認(rèn)運(yùn)行級(jí)別:
rc-update add sshd default
- 如果需要串行控制臺(tái)訪問(在遠(yuǎn)程服務(wù)器的情況下可以訪問)抒抬,請(qǐng)取消注釋/ etc / inittab中的串行控制臺(tái)部分:
nano -w /etc/inittab
#SERIAL CONSOLES
s0:12345:respawn:/ sbin / agetty 9600 ttyS0 vt100
s1:12345:respawn:/ sbin / agetty 9600 ttyS1 vt100
- 網(wǎng)絡(luò)工具
- 6.1 安裝DHCP客戶端
為了使系統(tǒng)能夠使用netifrc腳本自動(dòng)獲取一個(gè)或多個(gè)網(wǎng)絡(luò)接口的IP地址杨刨,必須安裝DHCP客戶端。我們建議使用net-misc / dhcpcd擦剑,盡管通過Gentoo存儲(chǔ)庫(kù)可以獲得許多其他DHCP客戶端:
emerge --ask net-misc/dhcpcd
- 6.2安裝無線網(wǎng)絡(luò)工具
如果不需要無線可以跳過此步驟
如果系統(tǒng)將連接到無線網(wǎng)絡(luò)妖胀,請(qǐng)為Open或WEP網(wǎng)絡(luò)安裝:net-wireless / iw;
WPA或WPA2網(wǎng)絡(luò)安裝:net-wireless / wpa_supplicant抓于;
iw也是用于掃描無線網(wǎng)絡(luò)的有用的基本診斷工具做粤。
emerge --ask net-wireless/iw
emerge --ask net-wireless/wpa_supplicant
y. 配置引導(dǎo)加載程序
- 合并GRUB2 軟件到系統(tǒng)中
- UEFI用戶注意事項(xiàng):
用戶需要確保GRUB_PLATFORMS="efi-64"
已啟用(默認(rèn)情況下是這種情況)。如果不是設(shè)置的情況捉撮,GRUB_PLATFORMS="efi-64"
則需要在出現(xiàn)GRUB2 之前將其添加到/etc/portage/make.conf
文件中怕品,然后在安裝GRUB2 :
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub:2
如果GRUB2以某種方式出現(xiàn)而沒有啟用GRUB_PLATFORMS="efi-64"
,則可以將該行(GRUB_PLATFORMS="efi-64"
)添加到make.conf中巾遭,然后通過將選項(xiàng)傳遞給emerge來重新計(jì)算世界包集的依賴關(guān)系:--update --newuse
emerge --ask --update --newuse --verbose sys-boot/grub:2
- 使用僅支持MBR分區(qū)表的舊BIOS系統(tǒng)時(shí)肉康,不需要其他配置就能顯示GRUB:
emerge --ask --verbose sys-boot/grub:2
GRUB2軟件現(xiàn)已合并到系統(tǒng)中,但尚未安裝灼舍。
- 安裝GRUB2軟件
接下來吼和,通過grub-install
命令將必要的GRUB2文件安裝到/boot/grub
目錄。假定第一個(gè)磁盤(系統(tǒng)從中引導(dǎo)的磁盤)是/dev/sda
骑素,以下命令之一將執(zhí)行:
- UEFI用戶:
grub-install --target=x86_64-efi --efi-directory=/boot/efi
如果grub_install返回類似的錯(cuò)誤Could not prepare Boot variable: Read-only file system
炫乓,可能需要將efivars特殊掛載重新安裝為讀寫才能成功:
mount -o remount,rw /sys/firmware/efi/efivars
另外需要注意
:
一些主板制造商似乎只支持EFI系統(tǒng)分區(qū)(ESP)中的.EFI文件的 /boot/efi 目錄位置(掛載的引導(dǎo)分區(qū)目錄)。GRUB安裝程序可以使用該--removable
選項(xiàng)自動(dòng)執(zhí)行此操作献丑。在運(yùn)行以下命令之前驗(yàn)證是否已安裝ESP末捣。假設(shè)ESP安裝在/boot/efi(如前所述),執(zhí)行:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
這將創(chuàng)建由UEFI規(guī)范定義的默認(rèn)目錄创橄,然后自動(dòng)將 grubx64.efi 文件復(fù)制到由相同規(guī)范定義的“默認(rèn)”EFI文件位置箩做。
我的電腦主板是華碩的,只支持EFI系統(tǒng)分區(qū)(ESP)中的.EFI文件的 /boot/efi 目錄位置(掛載的引導(dǎo)分區(qū)目錄)妥畏。所以得加 --removable
如果發(fā)現(xiàn)自己的系統(tǒng)引導(dǎo)不了邦邦,出現(xiàn) GRUB 字樣安吁,則嘗試加 --removable
- BIOS用戶:
grub-install /dev/sda
#/dev/sda 為 /boot 掛載分區(qū)
- GRUB2配置
注意:如果是安裝win10 與gentoo 雙系統(tǒng),需要另外安裝 os-prober
用以檢測(cè) win10 的引導(dǎo):
emerge --ask os-prober
然后執(zhí)行
os-prober
接下來燃辖,根據(jù) /etc/default/grub 文件和 /etc/grub.d 腳本中指定的用戶配置生成GRUB2配置鬼店。
在大多數(shù)情況下,用戶不需要配置黔龟,因?yàn)镚RUB2將自動(dòng)檢測(cè)要引導(dǎo)的內(nèi)核來生成最終的GRUB2配置薪韩,
請(qǐng)運(yùn)行 grub-mkconfig 命令:
grub-mkconfig -o /boot/efi/grub/grub.cfg
如果是win10與gentoo雙系統(tǒng)則:
如果檢測(cè)不到win系統(tǒng),則可以先繼續(xù)執(zhí)行下一步捌锭,等全部安裝完畢之后,重啟系統(tǒng)罗捎,再執(zhí)行 os-prober -> grub-mkconfig -o /boot/grub/grub.cfg 即可观谦。
假如沒有出現(xiàn)Found
開頭的文字,則表明檢測(cè)不到系統(tǒng)桨菜,此時(shí):
- 運(yùn)行
ls /boot/kernel* /boot/initramfs*
查看是否會(huì)輸出兩個(gè)文件豁状;
如果沒有,則運(yùn)行ls /boot/efi/kernel* /boot/efi/initramfs*
倒得,查看是否會(huì)輸出兩個(gè)文件泻红,如果有輸出,則將兩個(gè)文件復(fù)制到/boot
目錄下霞掺,之后重新grub-mkconfig -o /boot/efi/grub/grub.cfg
即可谊路。
如果都沒有輸出,則重新genkernel all
一下菩彬,然后在自動(dòng)生成GRUB2配置缠劝。
z. 重新啟動(dòng)系統(tǒng)
退出chroot環(huán)境并卸載所有已安裝的分區(qū)。
然后重新啟動(dòng):
exit
reboot
不要忘記拔掉優(yōu)盤骗灶,否則可能會(huì)再次引導(dǎo)CD而不是新的Gentoo系統(tǒng)惨恭。
win10與gentoo雙系統(tǒng)引導(dǎo)界面:
gentoo命令行登錄,此時(shí)輸入
root -> 回車 -> 輸入密碼
耙旦,即可進(jìn)入gentoo系統(tǒng)脱羡。
至此,Gentoo的基本系統(tǒng)已安裝完成免都!
感慨一下:Gentoo確實(shí)是一個(gè)挺折騰的系統(tǒng)锉罐,同時(shí)需要更多的耐心!不過折騰完琴昆,就會(huì)發(fā)現(xiàn)對(duì)Linux更熟悉了一點(diǎn)氓鄙!
謝謝閱讀~