当前位置: 首页 > news >正文

记一次Arch的安装经历

最近由于听信了别人的“谗言”,心血来潮想试一试Arch,所以便准备在虚拟机上装一个Arch来看看效果,也算是一次艰难的装系统之路了吧。

那么下面打开虚拟机,进入安装界面:

首先是分区,Arch给我们提供了一个很好的分区交互工具cfdisk

cfdisk      #使用cfdisk进行分区

选择第二个doc类型,这是将sda设置成MBR类型的分区,之前在遇到这个选项的时候,我下意识的选了第一个GPT,然后还去google了一下,说GPT很好,就使用这个吧,结果后面分区的时候和教程不一样,装好系统后怎么也进不去。

接下来你可以把整个硬盘设置成一个根分区或者分成一个根分区和一个boot分区。如果设置成一个根分区记得要把那个分区设置bootable;如果是一个根分区和一个boot分区记得要把boot分区设置bootable。

退出cfdisk后格式化新设置的分区

lsblk       #查看存储设备的状态,sda1、sda2这样的就是我们刚刚分出来的
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2         #将根分区和boot分区格式化成ext4格式

然后就可以进行挂载了

mnount /dev/sda2 /mnt       #将根分区挂载到/mnt
mkdir /mnt/boot         #为boot分区创建挂载点
mnount /dev/sda1 /mnt/boot

接着修改软件镜像源

cd /etc/pacman.d        #镜像源文件在这个目录下
#我们需要将China源放到文件头的位置,下面先将这段源提取到temp这个文件里
grep -A 1 '##.*China' mirrorlist|grep -v '\-\-' > temp
#然后将mirrorlist的内容添加到temp的最后面
cat mirrorlist >> temp
mv temp mirrorlist          #temp替换mirrorlist

然后刷新软件仓库列表就可以开始安装了

pacman -Syy         #刷新软件仓库列表
pacstrap -i /mnt base base-devel        #安装系统

接下来需要生成一个叫fstab的配置文件,在开机时候会由mount命令读取并挂载其中的分区。在安装完基本系统之后,就可以将fstab信息写入新安装的系统中了。

genfstab -U -p /mnt >> /mnt/etc/fstab
nano /mnt/etc/fstab         #确认fstab文件真的生成了

下面我们就可以进入新系统进行配置了

arch-choot /mnt /bin/bash
passwd      #设置root密码
echo 主机名 > /etc/hostname        #设置主机名

然后配置区域

nano /etc/locale.gen

en_US.UTF-8zh_CN.UTF-8zh_TW.UTF-8的注释去掉,然后按Ctrl+x保存,退出,使用

locale-gen

生成区域,然后设置locale.conf文件

echo LANG=en_us.UTF-8 > /etc/locale.conf        #如果在终端下使用中文会出现乱码,可以装fbterm来解决

下面配置时区

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

安装引导工具Grub

pacman -S grub
grub-install --recheck /dev/sda1    #将grub写入系统,没有提示错误说明写入成功
grub-mkconfig -o /boot/grub/grub.cfg        #生成配置文件

配置一下网络

systemctl enable dhcpcd.service

到现在为止,系统基本上配置好了,现在退出新系统,卸载挂载的分区,然后重启虚拟机

exit
umount -R /mnt
reboot

剩下来的安装图形化界面和美化的步骤可以自行google。

转载于:https://www.cnblogs.com/skyhive/p/6400977.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • windows xp常用命令集
  • eclipseJVM terminated. Exit code=-1
  • java图片验证码
  • copyEvens
  • 字符设备驱动程序之异步通知
  • HTTP 错误 403.9 - 禁止访问:连接的用户过多
  • 如何使用flex皮肤
  • 查看进程占用的文件和文件数目
  • 动态创建DataGrid 列
  • Vue.js基础入门
  • 在 Tree 中查找节点
  • jQery使网页在显示器上居中显示适用于任何分辨率
  • 动态显示/隐藏 DataGrid 的列
  • Plugin with id 'com.github.dcendents.android-maven' not found
  • Flex构建WebService应用
  • SegmentFault for Android 3.0 发布
  • 自己简单写的 事件订阅机制
  • 【React系列】如何构建React应用程序
  • Asm.js的简单介绍
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • log4j2输出到kafka
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • RxJS: 简单入门
  • SQLServer之索引简介
  • Vue 2.3、2.4 知识点小结
  • 复习Javascript专题(四):js中的深浅拷贝
  • 将 Measurements 和 Units 应用到物理学
  • 聊聊redis的数据结构的应用
  • 前端代码风格自动化系列(二)之Commitlint
  • 深入浅出Node.js
  • ​queue --- 一个同步的队列类​
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (算法)Game
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)创业家杂志:UCWEB天使第一步
  • .“空心村”成因分析及解决对策122344
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .net6 webapi log4net完整配置使用流程
  • .NET企业级应用架构设计系列之开场白
  • .NET性能优化(文摘)
  • .net与java建立WebService再互相调用
  • .NET中GET与SET的用法
  • .NET中winform传递参数至Url并获得返回值或文件
  • .Net中的集合
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [20170713] 无法访问SQL Server
  • [Bugku]密码???[writeup]
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [C++]: std::move
  • [C++初阶]string类的详解
  • [C语言]-基础知识点梳理-文件管理