热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux+NTOSLoadermini-HOWTO中译版

文章标题:Linux+NTOSLoadermini-HOWTO中译版。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  1. 摘要
  2. NT OS Loader 是如何运作的?
  3. 如何安装 Windows NT 及 Linux 在同一系统上的提示
  3.1. 安装 Windows NT
  3.2. 分割磁碟
  3.3. 安装 Linux
  3.4. Lilo
  4. Bootpart
  5. Linux 部份的工作
  6. Windows NT 部份的工作
  7. 再做一次
  8. 排除问题
  9. 其它
  9.1. 参考资料
  9.2. 感谢
  9.3. 回馈
  9.4. 译注: 以 NT Loader 启动 FreeBSD
  
  1. 摘要
  本文件描述了使用 Windows NT boot loader 来启动 Linux 的方法.本过程已在 Windows NT 4.0 Workstation 版及 Linux 2.0 上测试过.
  
  2. NT OS Loader 是如何运作的?
  NT OS loader 希望来自其它作业系统的启动磁区变成一档案来取用.它读入这档案并启动选择的作业系统,也就是说,或是不同模式运作的 Windows NT 或是任何其它的作业系统.
  
  3. 如何安装 Windows NT 及 Linux 在同一系统上的提示
  3.1. 安装 Windows NT
  先试著安装 Windows NT.如果你想使用 NTFS 作为你 Windows NT 分割区的档案系统,记住,目前版本的 Linux 无法取用 NTFS 的分割区.一个可以读 NTFS 分割区的 Alpha 版驱动程式可在 http://www.informatik.hu-berlin.de/~loewis/ntfs 找到.你可建立另外一个 FAT 分割区作为资料交换用,或是你可以使用 DOS 格式化的软碟片.
  
  3.2. 分割磁碟
  另外一个 mini-howto 建议不要使用 NT 的"磁碟系统管理员"来建立 Linux 的置换以及根目录分割区.它会留下一些空间.我也建议使用 Linux 的 fdisk.
  
  3.3. 安装 Linux
  现在从磁片上启动 Linux,建立置换及根目录分割区.Fdisk 会将 NTFS 分割区认为是 HPFS 分割区,这是正常的.再次从磁片启动 Linux 并按你的喜好安装 Linux.
  
  在安装过程中建议你挂上它找到的 HPFS 分割区时: 忽略它.
  
  3.4. Lilo
  当你做到安装 Lilo 的部份时,指定你的 Linux 根目录分割区作为你的启动装置因为你磁碟的主启动记录(MBR)现在是 Windows NT 所有.这表示在你 /etc/lilo.conf 的 root 项目及 boot 项目会有相同的值.如果你有一个 IDE 硬碟且你的 Linux 分割区是在第二块分割区上,你 /etc/lilo.conf 的 boot 项目看起来会像:
  
  boot=/dev/hda2
  
  如果你有两个磁碟机而且你的 Linux 位於第二颗磁碟的第一个分割区上,你 /etc/lilo.conf 的 boot 项目看起来会像:
  
  boot=/dev/hdb1
  
  以符合你系统的核心执行 lilo.如果你不确定的话从磁片上启动以检查核心.
  
  如果你现在无法启动 Windows NT,你有麻烦了.我希望你已经建立了最近的修复磁片.
  
  4. Bootpart
  有一个由 G. Vollant 所写的 NT 程式叫 bootpasr 可以为你做到下述的两点. Bootpart 可在此取得:
  http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm .
  
  如果你想知道事情是如何运作的,使用第五及第六节描述的步骤.
  
  5. Linux 部份的工作
  你必须从磁片上启动 Linux 直到 NT 部份改好为止.
  
  现在你必须从你的 Linux 根目录分割区中取出启动磁区.如果 /dev/hda2 是你的 Linux 分割区,这个 dd 指令是:
  
  # dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
  
  如果你的 bootsect.lnx 超过了 512 个位元组那麽就有些事不对劲.
  
  现在将档案 bootsect.lnx 拷贝到一片 DOS 格式化过的磁片中,如果这是你将档案传到 NTFS 分割区内的方法的话.
  
  你可以这样来拷贝
  
  # mcopy /bootsect.lnx a:
  
  或者用
  
  # mount -t msdos /dev/fd0 /mnt
  # copy /bootsect.lnx /mnt
  # umount /mnt
  
  6. Windows NT 部份的工作
  从磁片上将档案拷贝到 C:ootsect.lnx. 我不会告诉你怎麽做. (译注: copy a:bootsect.lnx c:, 应该会吧.)
  
  就像 Linux 下的 lilo.conf, 在 Windows NT 中是 c:oot.ini. 在你编修它之前用这个指令除去它的系统及唯读属性:
  
  C:attrib -s -r c:oot.ini
  
  现在用一编辑器更改 boot.ini 档案,例如 notepad, 像这样:
  
  [boot loader]
  timeout=30
  default=multi(0)disk(0)rdisk(0)partition(1)WINNT
  [operating systems]
  multi(0)disk(0)rdisk(0)partition(1)WINNT="Windows NT Workstation ...
  multi(0)disk(0)rdisk(0)partition(1)WINNT="Windows NT Workstation ...
  C:BOOTSECT.LNX="Linux"
  
  在本例中只加入了最後一行.在你储存 boot.ini 後用这个指令回复它的属性:
  
  C:attrib +s +r c:oot.ini
  
  在关掉你的 Windows NT 并重新启动後你应该会看到像这样的:
  
  OS Loader V4.00
  
  请选择您想要启动的作业系统:
  
  Windows NT Workstation Version 4.0
  Windows NT Workstation Version 4.0 [VGA mode]
  Linux
  
  使用↑键和↓键将您想要的选项反白,
  选定後请按 Enter 键确认
  
  选择 Linux 并会看到
  
  LILO loading zImage ....
  
  7. 再做一次
  每次你 Linux 分割区的启动磁区被修改後一份新拷贝的 bootsect.lnx 就必须转移到 C:BOOTSECT.LNX.一个例子是当你重新用 lilo 安装一新的核心时.因此你可以看出这样的系统并不适合用来测试实验的核心.
  
  8. 排除问题
  如果事情并不按照预期的运作,用一磁片来检查可启动性.如果 /dev/hdb1 是你的 Linux 分割区,你的 /etc/lilo.conf 有下列的项目:
  
  root=/dev/hdb1
  boot=/dev/fd0
  
  插入一磁片并执行 lilo. 现在尝试从磁片上启动.如果你在 /dev/hdb1 上的 Linux 无法被启动,那麽 NT OS loader 也将无法启动它.如果你看到一大堆 01 01 01 01,表示你的 root 磁碟无法取用.检查是否你所有的磁碟都被 BIOS 侦测到.
  
  如果这磁片可以启动你的 Linux 分割区,你可以用下面指令取出你的启动磁区给 NT OS loader 用:
  
  # dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1
  
  你可保留这磁片在你的 Windows NT 安装出问题时作为你的急救磁片.
  
  9. 其它
  9.1. 参考资料
  
  The Linux+WindowsNT mini-HOWTO
  The FAQ for FreeBSD 2.X
  
  9.2. 感谢
  
  感谢 Xiaoming Yi 提示这些过程也在除了第一颗磁碟外的其它磁碟上运作.
  感谢 Frank Dennler 提供的磁碟技巧.
  
  9.3. 回馈
  任何意见都很欢迎.
  
  9.4. 译注: 以 NT Loader 启动 FreeBSD
  因译者的电脑中除了 Windows NT 4.0 及 Linux 之外,还装了 FreeBSD 2.2,於是就仿照上面的做法试试 NT Loader 有没有办法启动 FreeBSD.我的 FreeBSD 装在 /dev/sda2, 也就是 FreeBSD 的 /dev/sd0s2. 按照上面的做法我先将 /dev/sda2 的 boot sector 存成一档案:
  
  # dd if=/dev/sda2 of=/bootsect.bsd bs=512 count=1
  
  并将它拷贝到 C: 下.再於 boot.ini 中加入
  
  C:BOOTSECT.BSD="FreeBSD"
  
  不料这个方法竟然失败了,无法启动 FreeBSD!
  
  一方面觉得失望,一方面又不死心.忽然想到,lilo 也可以拿来启动 FreeBSD.於是,又做了下面的实验,进入 Linux 後,将 /etc/lilo.conf 改为:
  
  boot = /dev/fd0
  install = /boot/boot.b
  vga = normal
  
  other = /dev/sda2
  label = FreeBSD
  table = /dev/sda
  loader = /dev/os2_d.b
  
  放入一格式化过的磁片,再跑 lilo -v.然後将磁片的启动磁区变成一档案:
  
  # dd if=/dev/fd0 of=/bootsect.bsd bs=512 count=1
  
  并放到 C: 下.移去磁片後重新开机,在 NT Loader 的选单下选择 FreeBSD,接著就看到:
  
  LILO loading FreeBSD
  >> FreeBSD BOOT @ 0x10000: 639/65536 k of memory
  Usage: [[0:][fd](0,a)]/kernel][-abcCdhrsv]
  Use 1:sd(0,a)/kernel to boot sd0 if it is BIOS drive 1
  Use ? for file list or press Enter for defaults
  Boot:
  
推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • 本文介绍了三种方法来关闭win7电脑开机硬盘自检,分别是使用命令提示符、注册表编辑器和bios设置界面。通过取消硬盘自检可以加快电脑启动速度。详细步骤和操作说明在正文中有详细介绍。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
author-avatar
黯嘫吢碎1984rv
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有