Win7下安装archlinux 2011.08/2012.08记录

起因:

自11.04起,Ubuntu使用Unity当作图形界面,我就一直没用习惯,一直停留再10.10,而后10.04 LTS。眼看10.04 最后一个版本都出了,我决定换个archlinux。一开始我的想法是archlinux + gnome2,后来才意识到archlinux 并不太支持用户这样做,看了这个帖子后我决定适应一下用gnome3。

机器概况:

  • HP4411s 显卡为ATi HD4330
  • Ubuntu10.04.2 + Win 7 双系统
  • 引导的顺序是Ubuntu下的grub,可以直接进入Ubuntu,或者直接进入grub4dos。grub4dos之后才是Windows自带的引导(bootmgr)。

失败尝试:

CD刻盘安装:

手头有一张朋友刻好的archlinux 2011.08的光盘,他试过能用,但是我的机器上无法引导,开机BIOS上选择光驱引导后电脑就没反应了,只是caps lock在闪,可能存在兼容问题,最后只能强按电源键了,WTF!

USB安装:

  • win32diskimager-binary.zip
  • unetbootin.exe
  • Universal-USB-Installer-1.8.5.5.exe

最后的结果是部分干脆不能引导,部分进入引导出现Boot device didn't show up after 30 seconds...问题后按照网上的多种方法依然无法引导安装程序。(可能是我方法有误)

成功的安装:

以下过程假设Windows系统分区为C:\ ,sda1 ,NTFS

硬盘安装:

win7下安装grub4dos引导

  • 修改C:\boot.ini (若不存在则新建)为以下内容:
  • 下载grub4dos ,我用的版本为(grub4dos-0.4.4-2009-01-11.zip )
  • 提取grub4dos中的grldr 、grldr.mbr 、menu.lst  三个文件,放在C:\根目录
  • 添加bootmgr 启动菜单,下载这个win7-Grub4DOS.7z,并执行。

配置archlinux iso文件

  • archlinux-2011.08.19-core-i686.iso 放在C:\根目录,不要改名字!
  • 用winrar或者其他工具打开iso里/arch/boot/i686目录下的两个文件:archiso.img vmlinuz ,都放在C:\根目录
  • 修改C:\menu.lst,改成以下内容并保存:
  • 重启进入grub4dos,选择Install Arch Linux,过会儿可能提示Boot device didn't show up after 30 seconds...ERROR: boot device didn't show up after 30 seconds然后出错并进入一个console,则执行如下命令:
  • 接下去应该能进入live系统了。执行/arch/setup 开始安装,过程详见官方wiki

本节参考

常见问题及tips:

  • 安装完毕后应该先添加用户否则可能引发一系列问题(猜想)
  • 安装最后一步提示安装grub失败:

    单独分出一块空间(我分了40MB)供给/boot挂载后问题解决

  • 开机时间过长,主要问题是Network Busy:

    编辑/etc/rc.confDAEMON里的network前加@,变成 ... @network ... 让它在后台运行 来源: It takes too long to start "Network" while booting? ...

  • gnome3自带的NetworkManager无法正常使用,提示…忘了

    一种可能的原因是network托管了网络,network和networkmanager之间是冲突的。解决方法是修改/etc/rc.confDAEMON里的network前加!,或者干脆删除network,变成 ... !network ...。然后添加networkmanager ,让networkmanager来接管网络

  • gnome3主题资源

    Browsing GNOME on deviantART

  • nautilus 右键 [在终端中打开]插件

    sudo pacman -S nautilus-open-terminal

  • gvim 菜单空白

    问题原因分析见正常显示gvim菜单-Arch,KDE环境下gvim中文菜单的显示问题,最后有效的解决方案是: 先在~/.xprofile种添加一句 export LANG="zh_CN.UTF-8" 再创建含如下内容.gvimrc

  • VPN连接配置,需要安装插件,tty下(pptp方式) > sudo pacman -S ppp pptpclient > 在/etc/ppp/chap-secrets 中添加一行 > "login_user" PPTP_SERVER_FOO "login_password" * > 新建/etc/ppp/peers/vpn_foo

    拨号# pon vpn_foo 断开# poff vpn_foo 作为默认路由# route add default dev ppp0 摘自:archlinux pptp(vpn)拨号连接

  • gnome下查看networkmanager配套的vpn连接插件

    sudo pacman -Ss networkmanager- 如安装pptp : $ sudo pacman -S networkmanager-pptp 重启后可用,不重启log中会提示 sudo tail /var/log/everything.log Mar 30 12:26:22 foopc NetworkManager[609]: connection /org/freedesktop/NetworkManager/Settings/4 failed to activate: (2) The VPN service 'org.freedesktop.NetworkManager.pptp' was not installed.

  • gnome3窗口按钮布局移到左边

    运行gconf-editor,在里面找到/desktop/gnome/shell/windows/button_layout 如修改为close,minimize,maximize: 最后的效果会是:窗口按钮布局在左边,坐起分别是 关闭键、最大化键、最小化键。 若无效,尝试运行dconf-editor ,将 org → gnome → shell → overrides → button layout. 改为 close,minimize,maximize:来源: (http://rabbit52.com/2011/ubuntu/gnome3-button-layout http://askubuntu.com/questions/9867/how-to-switch-window-controls-to-the-left )

  • 字体安装 锯齿修复

    建议用gnome3自带的字体安装工具,双击字体文件再按提示安装 $ sudo fc-cache -f -v 用以更新缓存,建议普通权限下再跑一遍,会在~./fonts下再生成缓存 gnome-tweak-tool 可以直接用来修改界面。但是修改不会作用到系统的菜单栏gnome panel, gnome shell, 登录界面。一些中文字体可能出现很大的锯齿。解决方法为修改gnome-shell配置中的css文件,如果系统的gnome-shell没有改动过的话修改/usr/share/gnome-shell/theme/gnome-shell.css (建议修改前备份一份)中所有字体,修改前 20 stage { 21 font-family: cantarell, sans-serif; 22 } 添加一个自定义的中文字体(可以通过fc-list 查看当前用户下所有可用字体),如果字体名称中间有空格用双引号把整个字体括起来,修改后变成: 20 stage { 21 font-family: "LiHei Pro", cantarell, sans-serif; 22 } 如果系统的gnome-shell修改过,则修改相对应的gnome-shell文件夹中的font-family。如果終端和一些KDE程序還遇到鋸齒問題,可參考Font_Configuration#Ubuntu_patched_packages。先yaourt -S cairo-ubuntu libxft-ubuntu freetype2-ubuntu fontconfig-ubuntu 安裝ubuntu字體渲染補丁,可選安裝文泉驛的中文字體yaourt -S wqy-microhei wqy-microhei-lite wqy-zenhei ttf-google-webfonts。並修改字體配置(全局 /etc/fonts/local.conf or 當前用戶 ~/.config/font-manager/local.conf )。配置文件對應爲(此處一般字體我用Lihei Pro,等寬字體用Ubuntu Mono,後者中文不會有鋸齒):

    View the code on Gist.

  • xinit 或 startx 出错

    被这个问题折腾了很久,一直以为驱动版本出问题了。首先确认驱动是否正确安装了。正确安装后在/var/log/Xorg.0.log中看到的出错提示可能有 [ 408.681] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory) [ 408.694\] (EE) RADEON(0): [dri] RADEONDRIGetVersion failed because of a version mismatch. [dri] This chipset requires a kernel module version of 1.17.0, [dri] but the kernel reports a version of 2.12.0.[dri] Make sure your module is loaded prior to starting X, and [dri] that this driver was built with support for KMS. 最后发现在root 权限下startx是能正常执行的。最后的解决方法是修改~/.xinitrc为: exec ck-launch-session gnome-session 就这么一行就好了

  • 默认登录界面不是图形界面

    编辑/etc/rc.confDAEMON里添加gdm,最后变成... gdm ...

  • 无线网络连接

    首先确认网卡驱动没问题。在一开始安装系统的时候确保已经安装了wpa_开头的几个软件wpa_supplicantWPA加密方式的连接配置 执行 wpa_passphrase YOUR_SSID_ID YOUR_PASSWORD就会输出配置。 类似 network={ ssid="YOUR_SSID_ID " #psk="YOUR_PASSWORD" psk=YOUR_PASSWORD的哈希 } 将它输入到配置文件中,建议事先备份下这个文件 wpa_passphrase YOUR_SSID_ID YOUR_PASSWORD > /etc/wpa_supplicant.conf

    WEP连接配置

    编辑 /etc/wpa_supplicant.conf 末尾加上 network={ ssid="YOUR_SSID_ID " key_mgmt=NONE wep_key0="YOUR_PASSWORD" wep_tx_keyidx=0 priority=5 }

    上述两种方式编辑完毕后都要在 /etc/wpa_supplicant.conf 行首添加 ctrl_interface=DIR=/var/run/wpa_supplicant 连接: ifconfig wlan0 up 可能要用到 iwconfig wlan0 essid ssid2 wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf dhcpcd wlan0 sudo ip route add default via 192.168.1.1 连接成功后能ping g.cn 就没问题了,如遇到dns解析有误则修改/etc/resolv.conf ,格式: nameserver 8.8.8.8

  • 系统引导修复

    修改/boot/grub/menu.lst ,再最后可以找到被注释了的window启动项,取消前面的#号注释,同时修改Windows所在分区grub4dos( C:\menu.lst ): title 启动WIN7 find --set-root /bootmgr chainloader /bootmgr

  • ntfs磁盘写入需要

    sudo pacman -S ntfs-3g

  • 不改C:\menu.lst  也可以在grub倒计时的时候按c进入grub console,执行

    chainloader /bootmgr boot 进入windows

  • 安装archlinux 以后没有 ifconfig,route ,nslookup 等命令

    ifconfig,routenet-tools中,nslookup,digdnsutils中,ftp,telnet等在inetutils中,ip命令在iproute2中。 sudo pacman -S net-tools dnsutils inetutils iproute2

  • 无法连接WiFi(WPA加密),使用NetworkManager Applet连接一直提示输入密码,切换用network提示类似wlan0 carrier timed out - AR9285里描述的

    一般是由于网卡驱动与系统内核不同步,so:降内核版本,或者等待新内核发布(比如我的网卡是AR9285,在kernel 3.1下出现该问题,使用有线联网更新到kernel 3.3.2-1后问题就消失了)。上述连接中还提到一种方案是安装compat-wireless,详见官方wiki的这里

  • Linux下共享上网(参考这里

    echo "1" /proc/sys/net/ipv4/ip_forward 上面这个命令也可以通过修改/etc/sysctl.conf实现,在文件中加上或修改:net.ipv4.ip_forward=1 接着用iptables设置NAT网关(ppp0是连接到Internet的网卡名称): iptables -F # iptables -P INPUT ACCEPT # iptables -P FORWARD ACCEPT # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 打开NAT

2012.08.11補充

  • LC_* 問題

    症狀可能包括但不限與:

    • gnome-terminal 中文亂碼(菜單欄Terminal - Set Character Encoding 選中的編碼是 Current Locale(ANSI X3.4-1968) )
    • 報錯 Locale not supported by C library.

    解決方案爲確認/etc/local.gen中編輯正確後,指定LC_ALL。可以在/etc/environment 中添加一行LC_ALL="en_US.UTF-8"

  • Timezone '(null)' is unhandled, setting Europe/London as default

    表現爲gnome-control-center 的 Date and Time 無法設置,參照這裏解決方案爲:

    # pacman -S systemd systemd-arch-units

    /boot/grub/menu.lst (我是 /boot/grub/grub.cfg)中內核引導一行,添加 init=/bin/systemd 最後變成類似 linux /boot/vmlinuz-linux root=UUID=49a38472-5aeb-41c9-b0da-d45b61e41640 ro quiet init=/bin/systemd

  • 窗口配色問題

    Gnome3非常腦殘地去除了主題配色的圖形界面選項,參照 How do I change the “Selected Items” color?以及REPLACE THE ORANGE COLOR IN UBUNTU 11.10 (ACTIVE COLOR),修改org => gnome => desktop => interface => gtk-color-scheme,如 bg_color:#f0f1f2;selected_bg_color:#023C88



关于 McKelvin

a hacker who's interested in `music computing` and `network security`.
此条目发表在 Work 分类目录,贴了 , 标签。将固定链接加入收藏夹。
  • He

    请问ati hd4330用开源驱动,温度多少?
    gnome3下,能用闭源驱动吗?

  • http://www.zscorpio.com 蝎紫

    最近才发现原来ubuntu不止ubuntu桌面...还有gnome,今天下午才发现..话说这个系统怎么样?

    McKelvin 回复:

    @蝎紫, ubuntu在1104开始都是用Unity当桌面环境。archlinux非常纯净,只支持X86/i686等现代系统架构,没有乱七八糟的软件,要什么东西装什么,源上的资源也很丰富。archlinux默认不带图形界面的,我现在装的图形界面是gnome3。性能上相比ubuntu现在我的chrome开再多页面也没有卡死过了。:)

  • lentrody

    直接用Bootice之类的工具修改BCD引导grldr.mbr更方便吧

    McKelvin 回复:

    @lentrody, LZ懒,脚本方便啦 ;)