虚拟机安装Arch Linux

安装最新版Arch Linux,遇到一些想不到的问题,记录一下。

主要参考以下文章:

https://blog.csdn.net/r8l8q8/article/details/76516523

 

检查是否连通网络:
ping www.baidu.com

 

安装vim工具:
pacman -S vim

 

修改镜像列表:
vim /etc/pacman.d/mirrorlist
注释掉第一个镜像站,在前面加2个##,将 第二个镜像站:mirrors.xxxxxx.com/……的xxxxxx改为163
也可以手动注释掉或者删除掉非中国的镜像站

开始分区(UEFI+GPT)

本次将为sda硬盘重新建立分区表,重新建立分区,数据会全部丢失.
分区方案:
sda1---------------200M------------------------/boot/EFi
sda2---------------200M------------------------/boot
sda3---------------100G------------------------/
先查看下电脑硬盘设备,执行lsblk,如下图所示:(不同电脑设备不同,有可能会是 /dev/sdb……)
(有parted、fdisk两种分区方法,本次采用fdisk进行分区)


用fdisk进行分区

(1)建立GPT分区表
执行:

fdisk /dev/sda

进入fdisk交互界面:

输入:g 建立gpt分区表:

(2)建立分区
输入:n 添加一个分区

回车:

提示让输入开始扇区(一个扇区512B,按自己要分区容量大小进行计算)
输入2048,回车

让输入结束扇区,由于一个扇区512B,要创建200M的分区,应该输入:+200M;

建立第二个分区:
输入n;
回车
输入开始扇区: 回车 (默认开始扇区即可)
输入结束扇区:+200M

建立第三个分区:
输入n;
回车
输入开始扇区:回车 (默认开始扇区即可)
输入结束扇区:直接回车(默认大那个数字)

输入:w 保存并退出;
执行:lsblk 如下图所示:

格式化分区,并挂载
(1)格式化分区

执行:

mkfs.fat -F32 /dev/sda1


(格式化ESP分区)

mkfs.ext4 /dev/sda2

(格式化boot分区)

mkfs.ext4 /dev/sda3

(格式化根分区)

(2)挂载:

# mount /dev/sda3 /mnt
# mkdir /mnt/boot
# mount /dev/sda2 /mnt/boot
# mkdir /mnt/boot/EFI
# mount /dev/sda1 /mnt/boot/EFI

执行:

# lsblk

#7.开始安装基本操作系统

执行:

# pacstrap -i /mnt base base-devel linux linux-firmware

后开始安装

8.配置基础系统
(1)配置fstab

执行:

# genfstab -U /mnt >> /mnt/etc/fstab

最好再执行:

# cat /mnt/etc/fstab

检查一下

(2)切换到新系统

执行:

# arch-chroot /mnt /bin/bash

执行:

# vim /etc/locale.gen

反注释(删掉前面的#)
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
这两个,ESC,:wp退出保存

执行:

# locale-gen

执行:

# echo LANG=en_US.UTF-8 > /etc/locale.conf

(4)设置时区

执行:

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置时区。
执行

# hwclock --systohc --utc

设置硬件时间

#安装grub

grub是一个启动引导器,同时支持EFI和BIOS方式的启动。若使用的UEFI方式引导系统,则还需要安装efibootmgr,如果是双系统的话,还需要安装os-prober,且如果使用Intel CPU的话,则需要安装 intel-ucode 并启用因特尔微码更新。

因为我们使用的是虚拟机和UEFI引导方式,因此只需要安装grub和efibootmgr:

pacman -S grub efibootmgr

然后,还需要将其安装到EFI分区当中:

grub-install --recheck /dev/sda

注意:此处的 /dev/sda 后没有数字。

若提示 error:cannot find EFI directory,则说明EFI文件夹的路径不正确,找不到EFI文件夹的位置,此时就需要在上面命令中加入 efi-directory 参数指定安装路径:

grub-install --recheck /dev/sda --efi-directory=/boot

最后还需要生成一个grub的配置文件:

grub-mkconfig -o /boot/grub/grub.cfg

提示:如是在已经有Windows系统的PC上安装Linux成双系统,那么由于在安装介质环境中,此时可能检测不到Windows系统。在之后重启后进入Arch Linux后,再重新执行一遍此命令,这样就能检查到所有的系统了。

 

出现archlinux will not proceed with blocklists错误:

在安装这个系统的时候,发现非uefi启动的,输入命令之后,出现这个错误的,那么该如何解决的了?英文提示为:grub-install error will not proceed with blocklists。
archlinux will not proceed with blocklists
方法/步骤

    遇到错误的时候,先输入:

chattr -i /boot/grub/i386-pc/core.img


    然后输入:grub-install --target=i386-pc --recheck --debug --force /dev/sda

这个是硬盘在sda为例子的。

    然后输入:

chattr +i /boot/grub/i386-pc/core.img

    接着输入这个命令即可:

grub-mkconfig -o /boot/grub/grub.cfg

https://jingyan.baidu.com/article/b0b63dbf2bbe254a483070c4.html

 

用户管理
(1)设置root密码

执行:

# passwd

 (2)添加用户

执行:

# useradd -m -g users -s /bin/bash 用户名

 
(务必添加一个 用户 ,否则后面sddm显示管理器登录的时候无法登录,sddm不会列出root用户)
执行:

# passwd 用户名

 为刚才添加的用户设置密码
执行:

# vim /etc/sudoers

在 root ALL=(ALL) ALL 下面添加
用户名 ALL=(ALL) ALL
为你刚才创建的用户 添加sudo权限

 

(3)网络配置

pacman -S dhcpcd
(1)有线连接

# systemctl start dhcpcd

arch-chroot下执行不了此命令,可以省略,执行完下面的命令一会重启会自动启动dhcpcd服务)
启动dhcpcd

# systemctl enable dhcpcd

开机自动启动dhcp服务
(2)无线连接:

# pacman -S netctl iw wpa_supplicant dialog

退出chroot重启

(笔记本没有网线的话别重启请直接跳到下面网络配置,安装无线网络相关模块)
(也可以不重启,直接进行下面的网络配置和桌面环境配置)
执行:

# exit

退出chroot
执行:

# reboot

 

上一篇:c++派生类中构造函数和析构函数执行顺序、判断对象类型、抽象类、虚函数


下一篇:centos7 kdump.service启动失败的解决方法