热门标签 | 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

推荐阅读
  • 对于许多初学者而言,遇到总线错误(bus error)或段错误(segmentation fault/core dump)是极其令人困扰的。本文详细探讨了这两种错误的成因、表现形式及解决方法,并提供了实用的调试技巧。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 离线安装Grafana Cloudera Manager插件并监控CDH集群
    本文详细介绍如何离线安装Cloudera Manager (CM) 插件,并通过Grafana监控CDH集群的健康状况和资源使用情况。该插件利用CM提供的API接口进行数据获取和展示。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 本文详细介绍了Linux系统中的进程管理函数,涵盖了获取进程ID、用户ID、创建子进程、信号处理等关键操作。通过这些函数,开发者可以更好地控制和管理进程行为。 ... [详细]
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社区 版权所有