About
RSS

Bit Focus


ArchLinux 64 位重装记

Posted at 2011-07-24 03:29:55 | Updated at 2024-12-09 16:17:47

    本本上一直是 Win7 Home 和 32 位 ArchLinux (下称 arch) 双系统. 不过, 吐槽一下, Win7 跟 WinXP 之间巨大的操作差异让我真心戒掉了 Windows, 就像 Gnome3 的巨大变化让我转投了 Xfce 一样. 另, 要与时代接轨 (虽然刚才好像我对新东西都很抵触) 想尝试一下 64 位系统, 所以决定: wipe out & reintall. 这里记录一下自己重装的过程, 让以后的折腾有所参考.

前期准备

    其实最重要的就是前期准备了. 准备好了后面装系统改配置都是轻松加愉快啊.

备份配置

    备份必要的配置文件当然是必须的.
    首先告诉大家一个好消息, 最让人纠结的 xorg.conf (一般放在 /etc/X11/xorg.conf) 不需要. 貌似现在 arch 启动 X 并不需要这个文件了 :D
    如 pacman.conf 这样的文件可以备份一下, 我实在不太记得住 archlinuxfr 的网址. 此外, arch 现在还启动了 multilib 计划, 可以把下面这个加入 pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
    其它的还有 /etc/locale.gen 以及 /etc/host* 这些文件.
    如果有修改 /etc/bash_aliases 或 /etc/vimrc 等等, 不过这些一般也没谁去改吧, 盯好自己的 ~/.bashrc ~/.bash_profile ~/.vimrc 就好了.
    如果你跟我一样使用 compiz 来卖萌, 记得可以使用 ccsm 将 compiz 的设置导出到文件哦.
    个人目录下其它值得备份的文件还有 .bash_history .fonts .mplayer 等等, 看各自的需求了.
    当然别忘了其它重要的文件比如小电影什么的.

已安装的软件包

    接下来一件比较重要的事情就是看看系统现在装着哪些软件, 装好新系统后立刻把它们都装上, 在 arch 下通过
$ pacman -Q
来查询安装的所有软件, 包括 aur. 导出这个列表
$ pacman -Q | awk 'BEGIN { print "echo -n \"pacman\" -S"} { print "echo -n \" " $1 "\"" }' | sh > install-packages
    最后, 准备安装镜像.
    再看一眼旧的系统, 马上就要说再见了哦.

安装

    用 ArchLinux 安装镜像启动后, 会进入这样一个 shell 交互环境
root@archiso ~ #
之后就是全手动安装了. 这么坑的设定, 萌生退意也是理所当然的了...

格式化磁盘

    如果没有必要重新格式化磁盘, 请跳过这个步骤.
    首先要搞清楚硬盘在挂在哪个地方, 一般是 /dev/sda, 使用 U 盘安装的用户将还会看到 /dev/sdb, 或者 sda 是 U 盘而 sdb 才是磁盘. 对应地请小心行事, 不要误删数据了.
    如果不想退的话, 先从格式化分区开始吧. 下面是用 parted 进行分区 (以在 /dev/sda 上安装为例, 高亮的部分是输入, 其它是 shell 或 parted 回显)
# parted
(parted) select /dev/sda
Using /dev/sda
(parted) mkpart primary ext4 0 40GB
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i
(parted) toggle 1 boot
(parted) mkpart primary ext4 40GB -1s
(parted) q
Information: You may need to update /etc/fstab.

ls /dev/sda* 
/dev/sda /dev/sda1 /dev/sda2
    上面在 /dev/sda 上创建了两个主分区, 第一个大小是 40GB, 第二个从 40GB 开始, 到磁盘末尾 (-1s 表示最后一个扇区).
    到此为止分区结束, 下面在新分区上创建文件系统
# mkfs -t ext4 /dev/sda1
blah blah blah...
Writing superblocks and filesystem accounting information: done

# mkfs -t ext4 /dev/sda2
blah blah blah...
Writing superblocks and filesystem accounting information: done

配置网络

    如果你跟我一样悲剧使用的是 broadcom 的网卡, 在安装时一定悚然发现找不 eth0. 这时请在命令行执行
modprobe -r tg3
modprobe broadcom
modprobe tg3
    这样 eth0 才会出现. (如果悲剧了, 请自行 Google 或 archlinux bbs 吧)
    现在尝试 ping 一下外网
# ping blog.bitfoc.us
    如果能够 ping 通, 那就好办了 (一般支持 dhcp 的有线连接应该都没问题).
    好了, 开装基础系统吧.

安装基础系统

    格式化分区之后, 先尝试挂载根分区 (即需要将系统装入的那个分区), 如
# mount /dev/sda1 /mnt
    然后将基础系统安装到 /mnt 中 (也就是安装至 /dev/sda1)
# pacstrap /mnt base base-devel
    这东西可以用来安装任何软件, 比如装个 vim
# pacstrap /mnt vim

进入新系统

    安装基础系统完毕后, 挂上其它需要挂载的分区, 比如将 /dev/sda2 挂到 /mnt/home 下
# mount /dev/sda2 /mnt/home
    并生成一份 fs table, 写入新系统中
# genfstab -p /mnt >> /mnt/etc/fstab
    然后使用 arch-chroot 切换根目录
# arch-chroot /mnt
    现在就进入新系统了.

配置新系统

    ArchLinux 中启用新的配置系统后, 很多设置都从 /etc/rc.conf 中脱离了, 比如机器名, 直接将 hostname 内容写入 /etc/hostname 作为文件内容即可.
    配置 locale 还是修改 /etc/locale.gen 文件, 将需要的 locale 解除注释, 并执行
# locale-gen
    另外设置时区要通过一个软链接, 比如将时区设为 UTC+8, 则作如下链接
# ln -s /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
    zoneinfo 下面有很多子目录, 一定有一个是你需要的.

配置 bootloader

    首先要创建 initramfs
# mkinitcpio -p linux
    然后退出新系统, 运行 pacstrap 安装 grub-bios (如果使用 grub2 并且直接在 bios 上启动系统的话), 当然这一步也可以提前, 在进入新系统之前就装好这个
# pacstrap /mnt grub-bios
    重新进入新系统, 然后安装 grub (切勿直接运行下列命令, 要先 arch-chroot /mnt)
# grub-install /dev/sda
    然后重启 --- 迎来新系统.
    如果重启之后发现无法进入系统 (grub 可正常引导, 但选择 ArchLinux 之后提示某某某 UUID 对应的 device 找不到), 还是继续插上引导盘, 挂载新系统并且 arch-chroot 切过去, 检查 /etc/fstab 下显示的设备 ID 跟 /boot/grub/grub.cfg 出现的设备 ID 是否一致 (在 /boot/grub/grub.cfg 中搜索 "search" 找到一行含有设备 ID 的行, 然后全文替换为正确的设备 ID).

安装后工作

启用 AUR

    编辑 /etc/pacman.conf 在末尾加上这样两行
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
其中的 $arch 指的是架构, 比如用 32 位系统可替换为 i686.
    再执行
# pacman -Syu && pacman -S yaourt
    安装完毕后就可以使用 yaourt 了.

恢复配置

    执行先前导出的 install-packages 之前, 记得先恢复 pacman.conf, 否则 aur 中的包会提示找不到. 安装完所有的包后, 让配置文件各就各位. Now, your new system!

WARNING!
如果你的机器只有 2G 内存, 而且你有长时间开大量 Chromium 标签页浏览的习惯, 最好还是放弃 64 位.

Post tags:   ArchLinux

Leave a comment:




Creative Commons License Your comment will be licensed under
CC-NC-ND 3.0


. Back to Bit Focus
NijiPress - Copyright (C) Neuron Teckid @ Bit Focus
About this site