简介:这份PDF文档面向Linux初学者与对Kali系统感兴趣的小白用户,聚焦在Windows 7环境下搭建Kali Linux双系统的完整流程,帮助读者扫除入门阶段的操作障碍。资源包内仅含1个PDF文件,大小约4MB,内容以图文步骤形式呈现,涵盖安装准备、系统盘制作、分区设置、引导项配置及注意事项等关键环节,尤其强调将引导项安装在/boot分区而非MBR,以便重装Windows 7后Kali仍可正常引导。文档还针对图形化安装、GNOME桌面环境选择等细节给出提示,适合缺乏经验的新手对照操作。目前已有957人学习下载,可作为双系统安装的入门参考,帮助读者理解分区与引导逻辑,降低初学阶段的试错成本。
1. Windows7 下装 Kali Linux 双系统:老机器还能不能吃上这口饭
手里还压着一台跑 Windows7 的老本子,想再塞一个 Kali Linux 进去做安全测试,这个念头我太熟了。标题里这几个词——Windows7、KaliLinux、双系统、安装——拆开看每个都不难,合在一起才是真正的坑:Win7 用的是传统 BIOS + MBR 引导,而现在的 Kali 安装镜像默认往 UEFI + GPT 上靠,稍不注意就是装完进不去系统,或者把原来的 Win7 引导干掉了。这篇不讲虚的,就按一台真实的老机器走一遍:从分区、做启动盘、装 Kali、修 GRUB,到装完之后的常用命令和中文环境配置。适合两类人:一类是手上有闲置 Win7 机器、想低成本搞个渗透测试环境的;另一类是装过一次翻车了、卡在 GRUB 或者黑屏进不去的。全程按传统 BIOS 思路走,UEFI 机器我会单独标出来差异点。
2. 装之前先把账算清:分区、引导和镜像怎么选
2.1 先确认你的机器是 BIOS 还是 UEFI
这一步决定了后面所有操作,别跳过。开机按 Del 或 F2 进 BIOS,看有没有「UEFI/Legacy」这类选项,或者进 Win7 后按 Win+R 输入msinfo32,看「BIOS 模式」那一行写的是「传统」还是「UEFI」。传统 BIOS 对应 MBR 分区表,UEFI 对应 GPT。Win7 时代绝大多数机器是传统 BIOS + MBR,这也是本文的主线。如果你的机器是 UEFI,后面分区和引导修复的命令要换,我会在对应位置标出来。
判断分区表类型还有个更直接的办法,在 Win7 的磁盘管理里右键磁盘看「转换成 GPT 磁盘」是不是灰色。灰色说明当前是 MBR,可以转 GPT;能点说明已经是 GPT。这个信息记下来,装 Kali 分区时要用。
2.2 给 Kali 腾地方:从 Win7 压缩卷开始
不要用第三方分区工具去动 Win7 的系统盘,风险太高。正确做法是在 Win7 自带的磁盘管理里压缩。右键「计算机」→「管理」→「磁盘管理」,找到 Win7 所在的分区,右键「压缩卷」。
压缩量按你的需求来。Kali 完整安装大概需要 20GB,加上后续装工具、存数据,我一般留 60GB 起步。如果只是跑跑常用命令、做做实验,40GB 也够。压缩出来的空间先不要格式化,留成「未分配」,Kali 安装程序会自己认。
注意:压缩前先做碎片整理,否则能压缩出来的连续空间会比你预期的小很多。Win7 自带的碎片整理在「附件」→「系统工具」里。
2.3 Kali 镜像和启动盘:别用最新版硬刚老机器
Kali 官网下载 ISO,选「Installer」版本而不是「Live」。Live 版适合 U 盘直接跑,装到硬盘上还是 Installer 稳。版本上,老机器(尤其是 4GB 内存以下的)建议选带「lightweight」或者较老的稳定版,新版 Kali 的桌面环境对老显卡和内存不太友好,装完卡成幻灯片是常事。
做启动盘用 Rufus,分区类型选「MBR」,目标系统选「BIOS 或 UEFI-CSM」。这一步选错,做出来的盘在老机器上根本引导不起来。Rufus 写入模式选「DD 镜像模式」,ISO 模式有时候会漏文件。
# 如果你在 Linux 环境下做启动盘,用 dd 更直接 # 先确认 U 盘设备名,别写错,写错就是抹掉你的硬盘 lsblk # 假设 U 盘是 /dev/sdb,ISO 路径按实际改 sudo dd if=kali-linux-installer.iso of=/dev/sdb bs=4M status=progress oflag=synclsblk列出所有块设备,看清楚哪个是 U 盘(看容量),of=后面写整个设备而不是分区(写/dev/sdb不是/dev/sdb1)。bs=4M是块大小,status=progress让你看到进度,oflag=sync保证写完再退出,不然拔盘可能数据没落盘。
2.4 关掉 Win7 的快速启动和休眠
Win7 没有 Win10 那种「快速启动」,但有休眠。休眠会把内存状态写进硬盘,双系统切换时容易导致文件系统不一致。装之前进控制面板→电源选项→「选择电源按钮的功能」,把「启用快速启动」取消(如果有),并且用powercfg -h off关掉休眠。
# 以管理员身份运行 cmd powercfg -h off这条命令删掉 hiberfil.sys 并关闭休眠功能,释放出和内存等大的空间,也避免双系统下 NTFS 分区被锁。执行完重启一次,让 Win7 正常关机一次,确保文件系统干净。
3. 装 Kali:分区表怎么划、GRUB 装哪
3.1 从 U 盘启动进安装程序
插上 U 盘,重启,开机按 F12 或 Esc 进启动菜单,选 U 盘。如果直接进了 Win7,说明 BIOS 里启动顺序没调,或者 U 盘没做成可引导。进 BIOS 把 USB 调到硬盘前面。
进 Kali 安装界面后选「Graphical Install」。语言选中文或英文都行,我习惯英文,避免装完终端里中文乱码还要调。区域选「中国」,键盘选「American English」。
3.2 分区:手动分,别用「向导-使用整个磁盘」
这是最容易翻车的一步。安装程序会问你怎么分区,千万别选「使用整个磁盘」,那会把 Win7 一起抹了。选「手动」。
在分区列表里找到那块「空闲空间」(就是你从 Win7 压缩出来的),选中它,创建新分区。我一般分三个:
| 挂载点 | 大小 | 文件系统 | 说明 |
|---|---|---|---|
| / | 20-30GB | ext4 | 系统和工具 |
| /home | 剩余大部分 | ext4 | 个人数据和抓包文件 |
| swap | 内存的 1-2 倍 | swap | 老机器内存小,swap 别省 |
如果内存 8GB 以上,swap 给 4GB 就够。老机器 4GB 内存,swap 给 8GB。
分区时注意:不要动 Win7 那个 NTFS 分区,也不要动它前面的「系统保留」小分区。只在你压缩出来的空闲空间上操作。
3.3 GRUB 装到 MBR 还是分区
安装程序最后会问「将 GRUB 引导程序安装到哪个设备」。传统 BIOS + MBR 的情况下,选/dev/sda(整个硬盘),不要选/dev/sda1这种分区。装到 MBR 才能接管启动,装到分区里大概率启动不了。
注意:这一步是双系统能不能共存的关键。GRUB 装到 MBR 后,开机会先出 GRUB 菜单,里面会有 Kali 和 Windows7 两个选项。如果只看到 Kali 没看到 Win7,说明 os-prober 没检测到,后面第 5 章讲怎么修。
装完重启,拔掉 U 盘。如果直接进 GRUB 菜单,恭喜,一半成功了。如果黑屏或者进 Win7,看下一章。
3.4 装完第一次进系统要做的三件事
进 Kali 后先别急着装工具,把这三件事做了:
# 1. 更新源和系统 sudo apt update && sudo apt full-upgrade -y # 2. 确认引导正常,看看 GRUB 里有没有 Windows sudo os-prober sudo update-grub # 3. 装中文输入法和字体,不然中文显示是方块 sudo apt install -y fonts-wqy-zenhei fcitx fcitx-googlepinyinapt update刷新软件源索引,full-upgrade比upgrade更彻底,会处理依赖变化。os-prober扫描硬盘上其他操作系统,update-grub把扫描结果写进 GRUB 配置。fonts-wqy-zenhei是文泉驿正黑字体,解决中文方块问题,fcitx加fcitx-googlepinyin是输入法框架和拼音引擎。装完输入法要重启或者fcitx -r重载。
4. 装完进不去?GRUB 和引导的排查手册
4.1 开机直接进 Win7,GRUB 菜单不出现
现象:装完 Kali 重启,屏幕一闪直接进 Windows7,没有任何 GRUB 菜单。
原因:GRUB 没装到 MBR,或者 BIOS 启动顺序里硬盘引导被 Win7 的引导记录覆盖了。常见于安装时 GRUB 设备选错,选成了分区而不是整盘。
解决:用 Kali 安装 U 盘进 Live 模式,打开终端,重新装 GRUB。
# 进 Live 模式后,先确认分区 sudo fdisk -l # 假设 Kali 根分区是 /dev/sda5,硬盘是 /dev/sda sudo mount /dev/sda5 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt grub-install /dev/sda update-grub exit sudo rebootmount --bind把 Live 环境的设备、进程、系统目录映射进 chroot 环境,这样grub-install才能正确识别硬件。grub-install /dev/sda把引导写进 MBR,注意是整盘不是分区。update-grub重新生成菜单。
4.2 GRUB 菜单里没有 Windows7 选项
现象:能进 GRUB,但菜单里只有 Kali,没有 Windows7。
原因:os-prober没检测到 Win7,或者检测到了但没写进配置。Win7 的引导文件在「系统保留」分区里,如果那个分区被识别为隐藏或者 os-prober 被禁用,就会漏掉。
解决:
# 确认 os-prober 是否被禁用 cat /etc/default/grub | grep -i probe # 如果看到 GRUB_DISABLE_OS_PROBER=true,改成 false sudo nano /etc/default/grub # 改完执行 sudo os-prober sudo update-grubos-prober手动跑一次,看输出里有没有 Windows。如果没有,检查 Win7 的「系统保留」分区是不是还在、有没有被误删。有输出但 GRUB 里没有,就是GRUB_DISABLE_OS_PROBER被设成了 true,改回 false 再update-grub。
4.3 选 Windows7 后提示 bootmgr is missing
现象:GRUB 里能选 Windows7,但选完报bootmgr is missing。
原因:Win7 的引导记录被 GRUB 安装过程覆盖了,或者「系统保留」分区里的 bootmgr 文件损坏。
解决:用 Win7 安装盘或 PE 盘启动,进修复模式,执行引导修复。
# 在 Win7 修复模式的命令行里 bootrec /fixmbr bootrec /fixboot bootrec /rebuildbcdfixmbr重写 MBR 引导代码,fixboot写分区引导扇区,rebuildbcd重建启动配置数据。三条跑完重启,Win7 应该能进。但注意,fixmbr会把 GRUB 覆盖掉,所以修完 Win7 后要再用 4.1 的方法把 GRUB 装回去。这就是双系统的来回拉扯,习惯就好。
4.4 装完 Kali 后 Win7 时间不对
现象:进 Win7 时间正常,进 Kali 后时间差 8 小时,再回 Win7 时间又乱了。
原因:Windows 把硬件时钟当本地时间,Linux 默认当 UTC。两个系统对硬件时钟的理解不一致,来回切换就互相改。
解决:让 Kali 也用本地时间。
timedatectl set-local-rtc 1 --adjust-system-clock timedatectlset-local-rtc 1让系统把硬件时钟当本地时间读,和 Windows 保持一致。--adjust-system-clock立即同步一次。timedatectl确认输出里「RTC in local TZ」是 yes。
4.5 老机器装完卡顿、风扇狂转
现象:Kali 装完能用,但桌面卡、风扇一直转。
原因:新版 Kali 默认桌面环境(Xfce 或 GNOME)对老显卡和 CPU 压力大,加上没有装合适的显卡驱动。
解决:换轻量桌面或者关掉特效。
# 看当前桌面环境 echo $XDG_CURRENT_DESKTOP # 装一个更轻的,比如 LXQt sudo apt install -y lxqt # 装完在登录界面切换会话如果不想换桌面,至少把窗口特效关了,Xfce 在「设置」→「窗口管理器微调」里关合成。老机器上这些细节比装什么工具都影响体验。
5. 装完之后:常用命令、中文环境和日常维护
5.1 Kali 常用命令速查与中文环境收尾
装完系统只是开始,真正干活靠命令。下面这些是我日常用得最多的,配合中文环境一起配好。
# 网络相关 ip a # 看网卡和 IP sudo systemctl restart networking # 重启网络服务 # 更新与包管理 sudo apt update && sudo apt upgrade -y sudo apt install <包名> # 装包 apt search <关键词> # 搜包 # 信息收集常用 nmap -sV <目标> # 端口和服务扫描 whois <域名> # 域名注册信息 # 文件与权限 chmod +x <文件> # 加执行权限 chown user:group <文件> # 改属主 # 进程与服务 ps aux | grep <关键词> systemctl status <服务名>中文环境如果之前没配好,补一下:
# 生成中文 locale sudo dpkg-reconfigure locales # 选 zh_CN.UTF-8 # 输入法环境变量写进 ~/.xprofile echo 'export GTK_IM_MODULE=fcitx' >> ~/.xprofile echo 'export QT_IM_MODULE=fcitx' >> ~/.xprofile echo 'export XMODIFIERS=@im=fcitx' >> ~/.xprofiledpkg-reconfigure locales是交互式的,用空格选中zh_CN.UTF-8再确认。三个环境变量分别告诉 GTK、Qt 和 X 程序用 fcitx 输入法,不写的话有些程序里切不出中文。
5.2 双系统日常维护:备份引导和分区表
双系统最怕的就是某次更新或者误操作把引导搞坏。我的习惯是装完稳定后立刻备份 MBR 和分区表。
# 备份 MBR(前 512 字节) sudo dd if=/dev/sda of=~/mbr-backup.bin bs=512 count=1 # 备份分区表 sudo sfdisk -d /dev/sda > ~/partition-table.txtdd那条把硬盘最前面的 512 字节(MBR)存成文件,出问题时可以dd if=~/mbr-backup.bin of=/dev/sda bs=512 count=1恢复。sfdisk -d导出分区布局,恢复时sfdisk /dev/sda < ~/partition-table.txt。这两个文件存到 U 盘或者云盘,别只放本机。
5.3 一个具体技巧:用 GRUB 自定义默认启动项和超时
最后说个实用的。双系统默认启动项和等待时间可以改,省得每次开机都要盯着选。
sudo nano /etc/default/grub改这几个参数:
| 参数 | 作用 | 建议值 |
|---|---|---|
| GRUB_DEFAULT | 默认启动项 | 0 或 saved |
| GRUB_TIMEOUT | 菜单等待秒数 | 5-10 |
| GRUB_TIMEOUT_STYLE | 菜单显示方式 | menu |
| GRUB_DISABLE_OS_PROBER | 是否扫描其他系统 | false |
GRUB_DEFAULT=0表示默认第一个菜单项,saved表示记住上次选的。GRUB_TIMEOUT=5是等 5 秒自动进默认项,设成 0 就直接进不显示菜单,设成 -1 要手动选。改完必须sudo update-grub才生效。
我自己的习惯是GRUB_DEFAULT=saved加GRUB_SAVEDEFAULT=true,这样上次进哪个系统,下次默认还是哪个,不用每次手动切。老机器上这个设置能省不少事。
装双系统这事,翻车最多的不是技术难度,是手快。分区那一步多看两眼,GRUB 装哪想清楚,装完先备份引导,后面基本就稳了。希望帮到你。
本文还有配套的精品资源,点击获取