Windows7和Archlinux双系统硬盘安装笔记
俗话说,好记性不如烂笔头,这些东西也都是我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>false</bool>
</edit>
</match>
Windows和linux双系统时间不一致
首先确保BIOS中的时间为当地时间(localtime),进入Windows确认时间正确,然后进入Linux,输入命令
hwclock -s --localtime
Windows7和Archlinux双系统硬盘安装笔记的更多相关文章
- Windows8和CentOS6.4(64)双系统硬盘安装(图文)【转】
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://asange.blog.51cto.com/7125040/1193980 最近在 ...
- Windows 8和CentOS 6.4(64)双系统硬盘安装教程
最近在笔记本上升级原来的系统Win7到Win8,同时又安装了CentOS 6.4(64)系统,实现双系统共存.着实折腾了一番,主要是CentOS6.4(64)的两个iso文件加起来5G多(其实只用第一 ...
- linux mint 19.2与Windows 10 双系统硬盘安装与卸载
安装linux mint 和win10双系统: 1.win10系统下如果没有空闲分区,请从容量较大的分区用partition manager在选中的较大的分区下,调整大小.此步骤最好在pe下的part ...
- (转) 新的开始之Win7、CentOS 6.4 双系统 硬盘安装
http://blog.csdn.net/cnclenovo/article/details/11358447
- win10 + ubuntu双系统详细安装过程
由于搞深度学习,电脑跟不上,换了一台神舟战神Z8,于是装一个ubuntu双系统,没想到几乎花了一天,还花了80个软妹币找人帮忙,蓝瘦,现在写下来供大家参考: 不得不说,win10 + ubuntu双系 ...
- 手把手教你Windows Linux双系统的安装与卸载
作者:-叶丶知秋 链接:https://blog.csdn.net/fanxueya1322/article/details/90205143 转载请保留出处 良许前言: 后台突然有很多小伙伴留言想看 ...
- 安装windows7和ubuntu双系统后引导项设置
win7系统,U盘安装ubuntu,在选择[安装启动引导器的设备]时,1.如果你选择的是/dev/sda,即整个硬盘,他会将启动引导器使用grub进行系统引导,而不再使用windows loader, ...
- 安装Windows和Ubuntu双系统--Ubuntu安装过程识别不了硬盘
Linux识别不了固态硬盘 安装过程: 自己本身的是Windows 10,一块125g 固态 ,一块1T的机械硬盘. 通过rufus 制作ubuntu的启动盘 在BIOS中关闭电脑的安全启动选项,并且 ...
- 使用EasyBCD完美实现Windows7与Linux双系统
在Linux横行的时代,不玩Linux简直对不起它的流行,但又不能不用Windows,还要干活,还要工作啊,最重要的是:还要娱乐啊!! 废话不多说,直接进入主题! 1.下载EasyBCD,这个软件可以 ...
随机推荐
- 使用SAX解析XML文件
SAX这是Simple API for XML缩写,它不是由引起W3C拟议标准正式.尽管如此,使用SAX很少几个,点儿全部的XML解析器都会支持它. 与DOM比較而言,SAX是一种轻量型的方法. 我们 ...
- Redis 上实现的分布式锁
转载Redis 上实现的分布式锁 由于近排很忙,忙各种事情,还有工作上的项目,已经超过一个月没写博客了,确实有点惭愧啊,没能每天或者至少每周坚持写一篇博客.这一个月里面接触到很多新知识,同时也遇到很多 ...
- Swift # 异常处理
面向轨道编程 - Swift 中的异常处理 问题 在开发过程中,异常处理算是比较常见的问题了. 举一个比较常见的例子:用户修改注册的邮箱,大概分为以下几个步骤: 接收到一个用户的请求:我要修改邮箱地址 ...
- PHP的垃圾回收机制详解
原文:PHP的垃圾回收机制详解 最近由于使用php编写了一个脚本,模拟实现了一个守护进程,因此需要深入理解php中的垃圾回收机制.本文参考了PHP手册. 在理解PHP垃圾回收机制(GC)之前,先了解一 ...
- php传引用和全局变量
原文:php传引用和全局变量 <?php /* * 函数内部改变变量的值两种方法 */ $a = 10; /* *方法一 :函数参数传引用 */ function methodOne(& ...
- CRUD功能的JqGrid表格
CRUD功能的JqGrid表格 之前的项目也曾用过JgGrid对它的基本功能也是略有了解,网上有个国外的开源的项目,但是不适合个人的风格,所以花了3天空余的时间封装了下JqGrid,也算是参加开发工作 ...
- java抽象类和接口的区别(转载)
1.Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用. 如果向一个抽象类里加入 ...
- FlexiGrid使用手册
FlexiGrid使用手册 一.概览 Flexigrid是一个基于jQuery开发的Grid,与 Ext Gird类似.Flexigrid显示的数据能够通过Ajax获取或者从一个普通的表格转换. 它的 ...
- SQL点滴33—SQL中的字符串操作
原文:SQL点滴33-SQL中的字符串操作 计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() ...
- JS解析DataSet.GetXML()方法产生的xml
在实际的项目制作过程中,经常要采用ajax方式来进行,当然,这就免不了要进行数据交换.如果采用拼接字符串的方式来进行,不仅拼接的时候麻烦,而且在拆解的时候更加麻烦,一旦遇到特殊字符,那么就是灾难了.因 ...