怎么用grub在硬盘上安装archlinux

怎么用grub在硬盘上安装archlinux,第1张

archlinux 安装有很多方法

但是,Grub4dos 下安装可以具有更多的灵活性,且可以随时调整。

好了,步入正题吧。

第一步,准备

1。首先,还是GRUB4DOS,这个资料很多,就不说了。

2。复制iso镜像到C盘(重命名为arch.iso,后面会用到),同时复制镜像中的boot目录里的vmlinuz和archiso.img两个文件到C盘根目录

3。添加menu.lst启动项,内容如下:

title Arch Install...

root (hd0,0)

kernel /vmlinuz archisolabel=ARCH-2014

initrd /archiso.img

(用手机查看本教程的同学注意了,上面的archisolabel和kernel是在同一行的,切记哦)

4。重启计算机,进入GRUB,选择Arch Install ...

接下来引导进程会停止,因为这里需要大家自己输入命令,加载ISO镜像,命令如下:

mkdir /iso

mount -r -t vfat /dev/sda1 /iso

modprobe loop

losetup /dev/loop6 /iso/arch.iso

ln -s /dev/loop6 /dev/disk/by-label/ARCH-2014

exit

(如果你C盘是NTFS分区的话,把上面第二行的vfat改成ntfs)

第二步 正常安装

硬盘分区

这里的方案比较多,如果是新手,那么你可以只分一个区,我的方案是/boot,/,/home三个分区由于我的笔记本内存有8GB,因此不用swap。

1fdisk /dev/sda

2#/boot为sda2,/为sda3,/home为sda4

安装文件系统

在sda{2,3,4}安装ext4文件系统

1mkfs.ext4 /dev/sda2

2mkfs.ext4 /dev/sda3

3mkfs.ext4 /dev/sda4

挂载分区

1#挂载/

2mount /dev/sda3 /mnt

3#创建boot和home以挂载sda1和sda3

4cd /mnt

5mkdir boot

6mkdir home

7mount /dev/sda2 /mnt/boot

8mount /dev/sda4 /mnt/home

更新mirrorlist

推荐国内的用户选择mirrors.163.com,不过之前我安装的时候发现163的源有点问题,因此我推荐大家也开启mirrors.ustc.edu.cn 默认的mirrorlist是开启所有源的,因此我们使用sed先在所有源的前面加上#

把下面几个地址放到这个文件的前面

Server = http://mirrors.163.com/archlinux/$repo/os/$arch

Server = http://mirror.bjtu.edu.cn/archlinux/$repo/os/$arch

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

Server = http://mirrors.hustunique.com/archlinux/$repo/os/$arch

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

Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch

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

1cd /etc/pacman.d

2sed -i "s/^\b/#/g" mirrorlist

3nano mirrorlist

4#将mirrors.ustc.edu.cn和mirrors6.ustc.edu.cn前面的#去掉

5pacman -Syy

安装base系统

我们只需要安装base和base-devel

1pacstrap /mnt base base-devel

2#如果你想使用ifconfig之类的工具,请在上面加上net-tools

生成fstab

在开机时我们需要正确挂载分区,这就需要fstab 这里我使用的是UUID的方式识别

1genfstab -U -p /mnt >>/mnt/etc/fstab

改变目录

1arch-chroot /mnt /bin/bash

配置locale

打开locale.gen

1cd /etc

2nano locale.gen

3#将en_US.UTF-8,zh_CN.GBK,zh_CN.GB2312,zh_CN.GB18030,zh_CN.UTF-8前的#去掉

4locale-gen

5echo LANG=zh_CN.UTF-8 >>locale.conf

6nano vconsole.conf

7#输入 #KEYMAP=usFONT=

设置时区

1ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2#之前manjaro的bug貌似影响到我的硬件时钟的读取了,如果大家时间也遇到了问题,可以软链接UTC

设置主机名

1echo 主机名 >>/etc/hostname

生成ramdisk

如果大家将/usr作为独立分区了,那么还需要配置mkinitcpio.conf,文件内有注释说明

1mkinitcpio -p linux

用户配置

1passwd

2#修改root密码

3useradd -m -g users -G wheel -s /bin/bash 用户名

4passwd 用户名

注意,此处,如果你不想用grub引导,就别像其他教程安装grub, pacman -S grub,如果你装了,这无法引导原始的windows,你需要重新刷新MBR.

重启

1exit #退出chroot

2umount /mnt/{home,boot}

3umount /mnt

4reboot

重启吧,进入archLinux要设置下GRUB,代码如下:(你可以在之前就写好,或者重启进入windows修改)title Arch Linux

root (hd0,1) 这里是/dev/sda2 挂载到

kernel (hd0,1)/vmlinuz-linux root=/dev/sda3 ro vga=791

initrd (hd0,1)/initrd.img

我linux装在sda3,对应的引导位置就是(hd0,3)

2.驱动安装

安装ALSA(声卡)

1pacman -S alsa-utils

2alsamixer #调节音量

安装显卡驱动

我用的是snb系列处理器的核显

1pacman -S mesa xf86-video-intel

2#我用的是intel的核显,具体大家自己wiki

安装synaptics驱动

1pacman -S xf86-input-synaptics

3.桌面环境的安装

安装xorg

1pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils

安装KDE

接下来就是桌面环境了,这里我使用的是KDE,当然是最小化安装

1pacman -S kdebase #一路enter就行了

2pacman -S kdemultimedia-kmix #音量调节

3pacman -S kdeplasma-applets-plasma-nm #网络管理

4systemctl enable NetworkManager.service #开启网络管理服务

5systemctl enable kdm.service #开启kdm

6pacman -S kde-l10n-zh_cn #添加中文支持

安装常用软件

1pacman -S synaptiks #触摸板管理程序 --已经被移至aur

2pacman -S kde-gtk-config #gtk主题管理

3pacman -S kcm-fcitx fcitx-qt kdeplasma-addons-applets-kimpanel #fcitx输入法

4pacman -S kdeutils-ark kdeutils-kwallet #安装ark和kwallet,这两个用过的都知道

5pacman -S kdegraphics-ksnapshot kdegraphics-okular kdegraphics-gwenview #截屏、pdf阅读及图片浏览软件

6pacman -S unrar unzip p7zip #使得ark支持解压zip、7z和rar压缩包

其他桌面

安装图形界面xfce

pacman -S slim xfce4 fcitx-im network-manager-applet xfce4-notifyd

slim是登录管理器,这货可能是不允许用root用户登录的

xfce4是桌面环境

fcitx-im是输入方法

network-manager-applet顾名思义,网络管理

xfce4-notifyd消息提醒

startxfce4直接可以进入桌面了

*** 作我都没有做,因为直接startxfce4进入桌面了,所以各位看官自己酌情尝试吧,我抄过来的,也不知道好不好使

添加一个非root用户

开机运行的服务

systemctl enable slim.service

systemctl enable NetworkManager

cd ~

cp /etc/skel/.xinitrc ~

vi ~/.xinitrc

export LANG=zh_CN.UTF-8

export LC_ALL=”zh_CN.UTF-8″

export GTK_IM_MODULE=fcitx

export QT_IM_MODULE=fcitx

export XMODIFIERS=”@im=fcitx”

exec startxfce4

默认xfce4桌面会自动挂载U盘的。确认usb插口没问题,用户是storage组成员,检查polkit有关udisks(udisks2)的设置,尝试重装udisks(udisks2),或卸载重装xfce4。

具体解决办法可以查阅arch wiki网站相关文章。

点击 Power on this virtual machine 启动 Installer 虚拟机

点击 Enter 启动Archlinux安装镜像

等待启动完毕,输入 lsblk 应该显示下面的内容

这时候U盘还没有连接至虚拟机,点击菜单VM >Removable Devices >USB Device >Connect(Disconnect from Host),将U盘连接至虚拟机,其中 USB Device 是U盘的名称,U盘不同名称应该也是不同的。

然后输入 lsblk 应该显示下面的内容,可以看到已经有 sdb 这个磁盘了

以下的内容基于Archlinux官网的wiki,如果有不明白的地方可以参考 官方Wiki

这里我们选择分三个区:

输入 fdisk /dev/sdb 进入分区程序

输入 o 开始分区

输入 n 新建EFI分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

输入 +128M 新建EFI分区大小为128M

输入 n 新建根分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

输入 +20G 新建根分区大小为20G,该分区容量可根据U盘容量自行决定,不一定非得是20G

输入 n 新建根分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

点击 Enter 选择默认容量,剩余全部未分配分区

输入 p 查看分区信息

输入 w 写入分区信息

输入 lsblk 可以看到已经有 sdb 磁盘,下面有 sdb1 , sdb2 , sdb3 三个分区

输入 mkfs.fat -F 32 /dev/sdb1 格式化 sdb1 为FAT32格式

输入 mkfs.fat -F 32 /dev/sdb3 格式化 sdb3 为FAT32格式

输入 mkfs.ext4 /dev/sdb2 格式化 sdb2 为ext4格式,如果出现 Proceed anyway? ,输入y继续格式化

输入 mount /dev/sdb2 /mnt 挂载 sdb2 到 /mnt

输入 mkdir -p /mnt/boot/efi 创建 /mnt/boot/efi 目录

输入 mount /dev/sdb1 /mnt/boot/efi 挂载 sdb1 到 /mnt/boot/efi

sdb3 U盘分区无需挂载

输入 cd /etc/pacman.d 选择目录

输入 cp mirrorlist mirrorlist.bk 将 mirrorlist 拷贝到 mirrorlist.bk

输入 cat mirrorlist.bk | grep China -A 1 | grep -v '-' >mirrorlist 将所有中国的镜像写入 mirrorlist

输入 nano mirrorlist 编辑镜像列表

经测试,清华和163的镜像是最快的,这里可以根据实际测试来决定选择哪一个。可以在 Server 前面写入 # 来注释掉该镜像。

编辑完成之后 点击 CTRL + X 退出编辑

点击 y

点击 Enter ,保存文件

输入 pacstrap -i /mnt base base-devel ntfs-3g 安装系统,然后点击 Enter

点击 Enter

点击 Enter

然后静静地等待安装完成。

输入 genfstab -U -p /mnt >/mnt/etc/fstab 生成文件系统表

输入 arch-chroot /mnt 进入新系统

输入 nano /etc/locale.gen 选择文字编码

将 zh_CN 开头的行全部取消注释,再找到 en_US.UTF-8 UTF-8也取消注释。 编辑完成之后保存。nano 的使用方法不再赘述

输入 locale-gen

输入 nano /etc/locale.conf 在文件中写入 LANG=en_US.UTF-8 保存

输入 rm /etc/localtime 删除原 UTC 时区

输入 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置计算机系统时区为上海

输入 hwclock --systohc --localtime 设置硬件时间为本地时间

输入 echo steven >/etc/hostname 将主机名配置成 steven,这个名称可以自行更改

输入 nano /etc/mkinitcpio.conf 找到下面这行

将 block 写到 udev 之后,然后保存,这样做就是为了让usb在启动的之后首先加载

输入 mkinitcpio -p linux ,生成启动镜像

输入 passwd 设置 root 用户的密码,注意输入密码时没有回显。

输入 pacman -S zd1211-firmware 安装无线网卡驱动

输入 pacman -S iw wpa_supplicant wireless_tools net-tools 安装网络工具

输入 pacman -S dialog 安装终端对话框

输入 pacman -S grub 安装引导程序

输入 grub-install --target=i386-pc /dev/sdb 安装BIOS引导

输入 blkid , 将 sdb2 的 UUID 记下来

这里 UUID 是 97b5e415-46ab-4e35-a804-6ddaez5793ac,每个分区的UUID应该都是不同的,下面具体根据自己的UUID来做修改,这是为了用 UUID 做标识来启动 *** 作系统,否则换了电脑硬盘标签变化就不能启动了

输入 nano /boot/grub/grub.cfg , 修改grub配置文件

将所有出现的UUID全部改成 sdb2 的UUID,过程略复杂,谨慎修改,然后保存

输入 exit 退出新系统

输入 shutdown -h now 关闭 Installer 虚拟机

参考 新建虚拟机

选择安装源时,选 I will install the operating system later.

名称写成 Boot,或者可以自定义

选择磁盘时,选择 Use a physical disk(for advanced users)

然后选择 PhysicalDrive1,选择Use individual partitions

勾选前两个分区

如果发现分区信息不对,可以返回上一步,重新选择另一个PhysicalDrive,然后再试

点击 Power on this virtual machine 启动测试虚拟机

启动之后

这时候输入 用户名 root 和 passwd 设置的密码就可以登陆了

如果有USB的无线网卡,挂到虚拟机里,输入 wifi-menu 就可以选择无线网络了

输入 shutdown -h now 关闭测试虚拟机

如果关机之后,Windows 出现如下对话框,请点击 取消(Cancel)

编辑 Installer 虚拟机,点击 Edit virtual machine settings

在Options选项卡,Advanced选项右侧,将Firmware type 改为UEFI, 不要勾选 Enable Secure Boot ,然后保存

和前文一样

输入 grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable 安装UEFI启动项

输入 shutdown -h now 关闭 Installer 虚拟机

和前文一样,修改 Boot 虚拟机的启动模式为 UEFI, 不要勾选 Enable Secure Boot

启动 Boot 虚拟机,这时应该可以启动了,然后关闭 Boot 虚拟机

很遗憾,目前为止,我还没有找到解决 Secure Boot 的方法,所以只能先关闭Secure Boot 再启动U盘中的 Archlinux。

网上所有我见过的解决Secure Boot的方法,都无法解决U盘移动后,磁盘信息可能会发生变化的情况,而且一般情况下不同计算机中的磁盘信息显然都是不同的。

经测试,Secure boot 安装在硬盘中是可以使用的,具体参考 安装ArchLinux到硬盘

如果BIOS(legacy)和UEFI两种启动方式,都可以启动,那么说明Archlinux已经安装成功。这时 Installer 虚拟机就失去了它的作用,可以删除了。

普通PC可以在开机的时候狂按 F2 、F12、Enter 来调整启动的顺序,理论上就可以进入了。

MAC 机器在开机的时候,按住option键,出现启动选项之后,选择 EFI boot 就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11857812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存