设为首页 收藏本站
查看: 3673|回复: 0

[经验分享] Virtualbox上面UEFI/GPT安装Archlinux

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-2-24 08:31:21 | 显示全部楼层 |阅读模式

失败了N多次终于成功了,一点点看着ArchLinux的Wiki弄出来的。希望对朋友们有用。

ArchLinux的Wiki有很详细的介绍,如果有不懂的可以参考:ArchLinuxWiki。

首先明确下如果你想用UEFI+GPT方式,在建立虚拟机的时候必须选择64位的,不要问我为什么,我不知道,我是试出来的,后来才明白UEFI+GPT只能支持64位系统。还有,建立虚拟机之后,设置里面的系统选项卡启用EFI需要勾选。

QQ截图20160224083107.jpg
Arch物理资源配置:
这些都需要看自己电脑配置的情况
我的配置是:
CPU2核心,内存1G,硬盘4G,其他默认。
下面就启动进入安装了
1
2
#列出当前设备
lsblk



有两种分区类型:
GUID 分区表(GPT)
主引导记录(MBR)
Arch 安装盘中包含了多种分区工具,可以根据分区表的类型进行选择:
parted: 支持 GPT 和 MBR
fdisk, cfdisk, sfdisk: GPT 和 MBR
gdisk, cgdisk, sgdisk: GPT
注:我在使用Wiki上的parted命令时总是大小分不正确,可能我还是不太会用。这里我用gdisk命令。
1
2
#使用gdisk交互模式进行硬盘分区操作,下面x是lsblk命令列出的你的硬盘的块号,我的是a
gdisk /dev/sda



gdisk命令用法可以参考ArchLinuxWiki。
1
2
#首先建立新的空GUID分区表
o(不是数字0)



下面进行分区,分区方案仅供参考(总大小:4G)
  • EFI启动分区:512M
  • /(root)分区:1.5G
  • swap交换分区:2G

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#使用n命令创建一个新的分区。
n
#输入分区序号,这里默认直接回车。

#输入起始地址,或者输入偏移量大小,这里还是使用默认的,直接回车。

#输入结束地址,或者输入偏移量大小,这里输入+512M,分给EFI启动。
+512M
#输入分区类型代码,EFI分区类型代码ef00。
ef00
#创建第二个分区,同上。
n
#输入分区序号。

#输入起始地址。

#输入结束地址,这里输入1.5G,分给/(root)分区。
+1.5G
#输入分区类型代码,linux文件系统分区类型代码8300,默认就是8300,所以直接打回车。

#创建第三个分区,同上。
n
#输入分区序号。

#输入起始地址。

#输入结束地址,这里输入2G,分给swap交换分区。
+2G
#输入分区类型代码,swap交换分区类型代码8200。
8200
#最后千万别忘了写入分区信息
w



分区结束,下面将分区进行格式化为需要的文件系统。
首先查看sda所有分区
1
lsblk /dev/sda



会出现三个分区
分区名称分区大小分区设备标号挂载点
EFI512M/dev/sda1
/1.5G/dev/sda2
swap2G/dev/sda3

EFI分区需要格式化为fat32或vfat32。
/(root)分区需要格式化为ext类型,推荐ext4。
swap交换分区需要格式化为linux swap类型。
1
2
3
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3



挂载已经格式化好文件系统的分区。
先挂载 / (root) 分区,其它目录都要在 / 分区中创建然后再挂载。在安装环境中用 /mnt 目录挂载 root:
1
mount /dev/sda2 /mnt



然后挂载其余单独分区(除了 Swap),比如 /boot,/var。先创建目录,然后挂载分区:
建议将 EFI 系统分区挂载到 /mnt/boot。
1
2
mkdir -p /mnt/boot
mount /dev/sda1 /mnt/boot



挂载swap分区:
1
swapon /dev/sda3



再看下分区表
1
lsblk /dev/sda



分区名称分区大小分区设备标号挂载点
EFI512M/dev/sda1/boot
/1.5G/dev/sda2/
swap2G/dev/sda3[swap]
至此就可以安装Arch了。
在安装系统之前需要调整一下镜像源地址,将中国的镜像源地址放在mirrirlist文件开头。
1
nano /etc/pacman.d/mirrorlist



1
Server = http://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch



更改镜像列表后请务必使用 pacman -Syy 强制刷新
1
pacman -Syy



使用 pacstrap 来安装基本系统。如果您想通过 AUR 或者 ABS 编译安装软件包,需要装上 base-devel:
1
pacstrap -i /mnt base base-devel



使用 -i 选项时会在实际安装前进行确认,可以不要。
生成分区表,用以下命令生成 fstab
1
genfstab -U -p /mnt >> /mnt/etc/fstab



切换到新系统:
1
arch-chroot /mnt /bin/bash



本地化:
1
nano /etc/locale.gen



添加以下字符编码:
1
2
3
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN GB2312



接着执行locale-gen以生成locale讯息:
1
locale-gen



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



创建初始 ramdisk 环境(这个我还是没有弄明白是干吗的~!~)。
1
mkinitcpio -p linux



用 passwd 设置一个 root 密码:
1
2
3
passwd
输入密码
请再次输入密码



下面安装 bootloader,这里请注意,bootloader引导程序有很多选择,但是它们都是通过EFISTUB进行引导操作的,区别就是外观不同,兼容性不同,Wiki里面提供的是systemd-boot这个程序的安装方法以及ArchLinux通过systemd-boot的引导方法,想查看还有哪些bootloader可以使用请参考:bootloader。
我首先使用的也是systemd-boot程序引导的ArchLinux,可以参考:systemd-boot
安装程序假定系统使用 GPT 分区表,具有 Unified Extensible Firmware Interface#EFI 系统分区,FAT32 格式,512 MiB 或更大,gdisk type 为 EF00). EFI 系统分区挂载到 /boot。
安装 systemd-boot 到 EFI 系统分区:
1
bootctl install



用nano编辑bootctl的配置文件,/boot/loader/loader.conf
1
2
3
4
5
6
#默认加载的启动配置文件,系统会在/boot/loader/entries目录下寻找arch.conf
default  arch
#超时时间
timeout  4
#是否允许用户编辑内核参数。1(默认值)是允许,0 是阻止。因为用户可以通过 init=/bin/bash 来绕过root密码并获得root权限,建议设置成0。
editor   0



增加启动选项
nano新建/boot/loader/entries/arch.conf配置文件
用 blkid -s PARTUUID -o value /dev/sda2 找到/(root)分区的PARTUUID,请注意这里不是EFI分区,是/(root)分区!!!请将自己的PARTUUID替换下面的PARTUUID。
1
2
3
4
5
#要在EFI引导程序中显示的操作系统的名称
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw



保存退出。

主机名

设置个您喜欢的主机名,例如:
1
echo ArchLinux20160222 > /etc/hostname



并在 /etc/hosts 添加同样的主机名:
1
2
3
#<ip-address>    <hostname.domain.org>    <hostname>
127.0.0.1        localhost.localdomain    localhost    ArchLinux20160222
::1              localhost.localdomain    localhost    ArchLinux20160222




离开 chroot 环境:
1
exit



关闭计算机:
1
poweroff



移除安装ISO文件。
再次启动,OK。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-182002-1-1.html 上篇帖子: virtualbox虚拟机在线增加网卡、调整cpu和内存 下篇帖子: virtualbox 如何移动虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表