远程安装Linux操作系统的方法
Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。下面是我收集的关于远程安装Linux操作系统的方法,希望大家认真阅读!
一、引言
一般情况下,我们都是利用软驱或光驱引导Linux后,再通过本地的光驱安装Linux。但是,这种安装方法在以下的几种情况下就不能适用:
无软驱和光驱:很多公司为了节省成本,计算机一般都不带光驱或软驱,这样就无法通过本地安装Linux
非标准的软驱和光驱:虽然笔记本都会配置光驱,但是并不一定都是标准的IDE设备,有些是通过USB接口,有些是通过1394接口(例如Samsung的Q10)。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装Linux
另外,在一些场合,如机房中,有大量的计算机需要同时安装Linux,如果通过光驱的方式一个个安装,不仅效率低,也不利于维护。
笔者在工作过程中,就遇到过第二种情况。一台Samsung的Q10笔记本需要安装Redhat Linux 8.0,但是通过光驱引导后发现,安装程序无法访问光盘。针对这个问题,笔者经过查阅资料和摸索,找到了在Q10上安装Linux的方法。在下面的讨论中,如不做特别声明,都将以Q10为例,介绍如何通过PXE Bootrom来远程安装Linux。
二、基本原理
1) 什么是PXE
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。
PXE协议的成功运行需要解决以下两个问题:
既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置
通过什么协议下载Linux内核和根文件系统
对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。
这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。
在上图中,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。
PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。
三、步骤
有了前面的背景知识,接下来就可以正式操作了,下面按照顺序给出了操作步骤:
1) 配置DHCP Server
选用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的内容如下:
option space PXE
option PXE.mtftp-ip code 1 = ip-address
option PXE.mtftp-cport code 2 = unsigned integer 16
option PXE.mtftp-sport code 3 = unsigned integer 16
option PXE.mtftp-tmout code 4 = unsigned integer 8
option PXE.mtftp-delay code 5 = unsigned integer 8
option PXE.discovery-control code 6 = unsigned integer 8
option PXE.discovery-mcast-addr code 7 = ip-address
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"
option vendor-class-identifier "PXEClient"
vendor-option-space PXE
# At least one of the vendor-specific PXE options must be set in
# order for the client boot ROMs to realize that we are a PXE-compliant
# server. We set the MCAST IP address to 0.0.0.0 to tell the boot ROM
# that we can't provide multicast TFTP (address 0.0.0.0 means no
# address).
option PXE.mtftp-ip 0.0.0.0
# This is the name of the file the boot ROMs should download.
filename "pxelinux.0"
# This is the name of the server they should get it from.
next-server 192.168.0.1
}
ddns-update-style interim
ignore client-updates
default-lease-time 1200
max-lease-time 9200
option subnet-mask 255.255.255.0
option broadcast-address 192.168.0.255
option routers 192.168.0.254
option domain-name-servers 192.168.0.1,192.168.0.2
option domain-name "mydomain.org"
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.100
}
host q10 {
hardware ethernet 00:00:F0:6B:38:5B
fixed-address 192.168.0.22
}
dhcpd.conf配置文件中几个关键部分说明如下:host q10{…}定义了笔记本Q10网卡的MAC地址与IP地址的'对应关系,表明DHCP Server为Q10分配一个固定的IP:192.168.0.22filename ""指定bootstrap的文件名netx-server指定TFTP Server的地址。其它的配置请读者参考DHCP Server的手册。
2) 配置TFTP server
选用tftp-hpa,TFTP Server的配置文件是/etc/xinetd.d/tftp,配置文件的内容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot
disable = no
per_source = 11
cps = 100 2
}
这里制定了/tftpboot为TFTP Server的根目录位置。
3) 配置bootstrap
bootstrap文件在dhcpd.conf中被指定为pxelinux.0文件,放置在/tftpboot。Linux内核以及Linux根文件系统也放置在/tftpboot。pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。由于PXElinux具有为不同的PXE Client提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXE Client的需求。比如一个PXE Client由DHCP Server分配的IP地址为192.168.0.22,那么相对应的配置文件名为/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016为IP地址192.168.0.22的十六进制表示)。如果找不到,就按照顺序C0A80016->C0A8001->C0A800->C0A80->C0A8->C0A->C0->C->default查找配置文件。
/tftpboot/pxelinux.cft/C0A80001配置文件的具体内容如下:
DEFAULT install
PROMPT 1
LABEL install
KERNEL vmlinuz
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384
此配置文件指定了Linux内核以及根文件系统的名称,并给内核传递了一些参数,其中ramdisk_size参数要非常注意,它指定Linux内核启动后建立ramdisk的大小,如果设置太小,Linux的安装过程就可能无法进行。
4) 制作Linux内核/根文件系统
因为需要通过网络安装,所有选择Redhat Linux 8.0安装盘(disk #1)中E:\images\bootnet.img(光驱的盘符为E:)。bootnet.img包括Linux内核、Linux根文件系统(有安装程序在内)。用bootnet.img制作一张引导软盘,方法在DOS命令行运行E:\dosutils\rawrite E:\images\bootnet.img,根据提示制作。制作完毕后,将引导软盘中的vmlinuz(Linux内核)和initrd.img(Linux根文件系统)拷贝到Linux Server的/tftpboot下。
5) 启动DHCP Server/TFTP Server
在Linux Server上,运行service dhcpd start和service xinetd restart。
6) 启动Q10
Q10加电后,在出现Samsung公司徽标时,在左下角会提示用户按F12进入网络引导。按F12后,Q10进入网络引导过程。首先通过DHCP Server获得了IP地址,然后下载并执行bootstrap文件pxelinux.0在执行中,读入配置文件/tftpboot/pxelinux.cfg/C0A80016。此时屏幕上出现boot:,敲入install,就进入了Redhat Linux 8.0的网络安装界面,一切OK!
四、结束语
虽然以上的讨论是针对Samsung Q10笔记本,但是工作原理和安装方法对于其它类型的计算机也是适用的,不过要记住,计算机的网卡中必须要有BootROM--PXE Client。同时,PXE协议也可作为无盘Linux技术,用于引导放置在远程的Linux。实际上,只要根据需要,在Pxelinux的配置文件的APPEND选项中,为Linux内核传进需要mount的文件系统的位置参数即可。
如何用远程操控安装Windows XP系统其实,绝大多数故障都是来自软件,操作系统自身,硬件故障基本上不可能(照她这样的用法)所以,完全可以用pcanywher来解决,只要对方能链接上网络,一切就搞定了操作她计算机就像操作我一样.
不过,这只能针对一般的应用软件故障,是建立在操作系统是好的基础上。如果连操作系统都被弄坏了呢?怎么办?别急,我们还要一招绝的,远程安装操作系统。有了这一招,随便她怎么弄,你弄吧,大不了把系统弄坏,我给我重装就行了.
其实现在大多数人的家里都装上了宽带,通过网络联络,完全可以坐在家里帮MM重装系统。下面就看看我是如何远程帮MM安装Windows XP的吧。
准备所需文件(本机操作)
首先准备好vFloppy、WinImage、Ghost.exe等三款软件,以及Windows XP的系统映像文件(本例为:winxPSP2.gho)。假如MM的电脑上没有备份操作系统映像,你可以自己制作一个万能映像文件,通过网络传给她。不会问我怎么制作吧?用GOHST备份呀,备份你自己的.!
实战操作
第1步:打开记事本,输入内容如下:
[boot loader]
timeout=3
default=C:\BOOT\BOOTDISK.bin
[operating systems]
C:\BOOT\BOOTDISK.bin="由虚拟启动软盘启动"
保存为“boot.ini”(不含引号,下同)文件。
第2步:在记事本中新建一个文件,输入内容如下:
smartdrv.exe
d:\ghost\ghost.exe -clone,mode=pload,src=d:\ghost\WINXPSP2.GH1,dst=1:1 -sure -rb
保存为“autoexec.bat”自动批处理文件。
第3步:安装WinImage,通过它打vFloppy目录下的BOOTDISK.img,把上面建立的autoexec.bat文件导入进去以替换原有的同名文件(见图1),保存磁盘映像。
远程遥控MM操作
接下来通过QQ指挥MM做一些简单的事情就可以了。如果你安装了pcanywhere,还是自己动手!鉴于一般人没有安装pcanywhere,就用QQ代替吧!
第1步:通过QQ将BOOTDISK.img、vFloppy.exe、Ghost.exe、boot.ini传送给MM。如果对方的电脑中没有Windows XP的映像文件,还得将winxpsp2.gho文件也传给她。
第2步:预先把操作步骤在QQ上告诉MM,让她记下来按步骤操作,如果你安装了pcanywhere,就自己动手,丰衣足食了!
1.把Ghost.exe和winxpsp2.gho放到D:\ghost目录下;
2.运行vFloppy.exe,把映象文件设置为BOOTDISK.img,其他选项不用动(见图2),点击“应用”,在弹出的两个对话框上都选择“否”;
3.把boot.ini复制到C根目录下,替换原有的同名文件;
4.重新启动电脑就可以啦,autoexec.bat中的命令会自动帮MM完成系统镜像恢复的操作。
上面介绍的方法并不怎么高深莫测,只是比较灵活地运用了一些常用软件而已。不过说实话,真的安装起来,不知道MM那边会不会出现一些意外的操作,还真不敢说啊,祈祷她能完全按我所说的做吧。
这只是针对安装XP,如果你要安装windows 2000服务器版或者是2003服务器版,我记得服务器版的操作系统都有一个远程安装服务,完全可以利用那个来安装操作系统,看来微软想的还是比较周到的。
ksstart如何远程安装Linux系统
想必很多人都想知道ksstart如何远程安装Linux系统,远程安装Linux系统这是一个复杂的操作,接下来我就来为大家解密,想了解的朋友们一起来看看吧。103.219.29.1
一起动服务器:
1.dhcp服务:
dhcpd.conf
max-lease-time 7200
server-name "bootserver"
default-lease-time 600
allow booting
allow bootp
subnet 192.168.138.0 netmask 255.255.255.0 {
range 192.168.138.1 192.168.138.254
deny unknown-clients
}
group pxe {
filename "pxelinux.0"
host testserver { hardware ethernet 00:0C:29:70:24:5Bfixed-address
192.168.138.30}
}
2.tftp服务
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}
/tftpboot为根目录:
(as4的第一张盘)
[root@bsvr]#mkdir /mnt/iso
[root@bsvr]#mount -o loop,ro RHEL4-U2-i386-AS-disc1.iso /mnt/iso
[root@bsvr]#cp /mnt/iso/isolinux/initrd.img /tftpboot
[root@bsvr]#cp /mnt/iso/isolinux/vmlinuz /tftpboot
[root@bsvr]#mv /tftpboot/initrd.img /tftpboot/initrd-rhel4u2-i386.img
[root@bsvr]#mv /tftpboot/vmlinuz /tftpboot/vmlinuz-rhel4u2-i386
pxelinux.0复制到TFTP服务器根目录(在syslinux包中)
/tftpboot/pxelinux.cfg/存放pxe配置文件
武汉网盾科技专注高防服务器,服务不同类型客户,有多种DDOS、CC攻击应对策略,7x24小时售后服务,帮助您保护服务器安全
,让您更专注业务。Q:562564054
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)