热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows7和Archlinux双系统硬盘安装笔记

俗话说,好记性不如烂笔头,这些东西也都是我Google来的,做个笔记以后自己安装也方便些。因为官方wiki的BeginnersGuide讲的非常好,大部分步骤按照wiki一步一步来就

俗话说,好记性不如烂笔头,这些东西也都是我Google来的,做个笔记以后自己安装也方便些。

因为官方wiki的Beginners' Guide讲的非常好,大部分步骤按照wiki一步一步来就好了,这里只说一下我的步骤。

Step 1

首先你需要你一个多重引导工具EasyBCD。安装好以后运行,选择左侧的"Add New Entry",然后在右侧选择NeoGrub标签页,并点击Install。接着点Configure,软件会打开C:\NST\menu.lst文件让你编辑,输入以下内容:

title Install ArchLinux
root (hd0,0)
kernel /vmlinuz archisolabel=archlinux
initrd /archiso.img
boot

将下载好的镜像重命名为archlinux.iso并放在C盘根目录,然后用WinRAR打开镜像,提取出目录\ARCH\BOOT\X86_64\下的VMLINUZ.和ARCHISO.IMG两个文件,一并放到C盘根目录。(注:这里你要根据自己的CPU选择,64位CPU就选X86_64目录,32位就选I686目录。)

Step 2

重启电脑,并在引导界面选择"Install ArchLinux"。

选择系统版本之后引导安装系统,会出现错误提示:waiting for device。这时不要重启计算机,等待一段时间,系统退至shell后,依次输入以下命令手动加载ISO:

mkdir /tmpmnt
mount -r -t ntfs /dev/sda1 /tmpmnt
modprobe loop
losetup /dev/loop6 /tmpmnt/archlinux.iso
ln -s /dev/loop6 /dev/disk/by-label/archlinux
exit

接下来的过程和wiki中类似,只作简要说明。

Step 3

建立网络(我用的是路由器,比较方便,其他上网方式请查阅wiki)

dhcpcd

ping一下测试网络是否联通

ping -c 3 www.google.com.hk

连上网第一步当然是配置pacman源

nano /etc/pacman.d/mirrorlist

源列表可以使用Pacman Mirrorlist Generator生成,我只保留了一个最快的。

接着准备分区,考虑到还要和Windows7组成双系统,我选择了MBR分区

fdisk /dev/sda

创建文件系统,并挂载分区

mkfs.ext4 /dev/sda8
mount /dev/sda8 /mnt

注1:这里的/dev/sda8是我自己的分区,相当于Windows下的G盘。Linux下的扩展分区从sda5开始,对应Windows下的D盘,依次类推,G盘也就是/dev/sda8了。

注2:关于swap。我不用休眠功能,而且是4GB内存,没有分swap区。swap分区大小是个众说纷纭的问题,我找到了RedHat的官方文档Recommended Partitioning Scheme,不知道swap分区设置多大好的同学可以看看。反正我自己没用swap分区,目前为止系统运行情况良好。

注3:关于分区方案。我之前装过几次linux都为分区头疼,这个问题大家也是说什么的都有。这次我干脆就一个100GB的大分区,连swap都没有。不过事后证明分一个挂载/home还是不错的,至少换发行版重装系统的时候可以保住数据。嗯,以后就这么干,俩分区:一个/,一个/home。

安装基础系统

pacstrap -i /mnt base

生成fstab

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

Change root

arch-chroot /mnt

设置键盘布局

loadkeys us

语言

nano /etc/locale.gen

取消en_US.UTF-8 UTF-8这行的注释,保存退出。

然后Generate locales

locale-gen

生成locale.conf

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

Time zone

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

Hostname

echo Arch > /etc/hostname

dhcpcd服务自启动

systemctl enable dhcpcd.service

设置root密码

passwd

安装Grub

注4:如果需要Grub,这一步请参照wiki。我们要安装双系统,直接就用Windows的Bootloader+NeoGrub好了。

收尾工作

exit
umount /mnt
reboot

Step 4

重启以后进入Windows,编辑C:\NST\menu.lst,把第一步加入的内容改成下面这样:

title  Arch Linux
root   (hd0,7)
kernel /boot/vmlinuz-linux root=/dev/sda8 ro
initrd /boot/initramfs-linux.img

然后重启就ok了。

下面是一些TIPS,记录使用过程中遇到的小问题与解决方法

使用Windows字体如Calibri, Tahoma显示不正常

建立/etc/fonts/local.conf文件,将下面的代码贴入

<match target="font" >
    <edit name="embeddedbitmap" mode="assign">
        <bool>falsebool>
    edit>
match>

Windows和linux双系统时间不一致

首先确保BIOS中的时间为当地时间(localtime),进入Windows确认时间正确,然后进入Linux,输入命令

hwclock -s --localtime

推荐阅读
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • andr ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
author-avatar
航头党员之家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有