注意:此处无盘本人仅BIOS启动成功,UEFI无法安装系统,没有找到解决方案。如果有会手工添加网卡PNP的,本人愿闻其详。

先上测试视频

本人制作好了母盘,并且都配置好了文件。 通过虚拟机,启动两台模拟机测试。

无盘系统测试视频

===============================教程开始==================================

1.准备一台电脑或者虚拟机,安装好ubuntu或debian系统,其他系统也可以,主要是为了搭建服务器。 2.准备一台支持 从网卡启动的电脑(也可以用虚拟机测试。),并设置成BIOS启动,而不是uefi。 3.如果家里面的路由器是用的是openwrt路由器,那么可以直接使用它提供的服务,如果不是的话,需要自己搭建一个dhcp服务。 4.准备windows8镜像,此处已备好下载链接: ed2k://|file|cn_windows_8_1_x64_dvd_2707237.iso|4076017664|839CBE17F3CE8411E8206B92658A91FA|/ 安装密钥:XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB 使用KMS批量激活密钥:GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 5.本贴所需的部分文件下载地址:https://download.csdn.net/download/qq_21491871/15113489 ## 1.配置路由(DHCP) **openwrt路由:** 在 /etc/config/dhcp 配置文件里,`config dnsmasq 'dnsmasq'`节尾部添加以下内容

    list dhcpmatch 'set:bios,option:client-arch,0'list dhcpmatch 'set:EFI_x86-64,option:client-arch,9' #本行可以删除,如果想要引导UEFI,那么就需要 这一行。list dhcpmatch 'set:EFI_64,option:client-arch,7'  #本行可以删除,如果想要引导UEFI,那么就需要这一行。#uefi引导需要在下面添加uefi的二进制文件list dhcpmatch 'set:ipxes,option:user-class'list dhcpboot 'tag:bios,ipxe.pxe' #【无盘引导文件】 文件需要自己在上面的文件找,list dhcpboot 'tag:ipxes,load.ipxe'#【无盘引导文件】

在/etc/dnsmasq.conf里面,尾部插入

enable-tftp
tftp-root=/www/tftpboot      #此处修改为你openwrt 本地目录,这个目录是储存【无盘引导文件】的。

然后重启服务/etc/init.d/dnsmasq restart
** 自建服务(debian或ubuntu系统) **

配置next-server【tftp服务器指定为 debian或ubuntu 的IP】
filename【引导文件】为ipxe.pxe
请参考下面两个网站所提供的配置教程

https://forum.ubuntu.org.cn/viewtopic.php?t=486871
.
注意上面的网址里面的【boot.ipxe】就是上面的load.ipxe,undionly.kpxe就是上面的ipxe.pxe.

https://www.pianshen.com/article/2344659053/

2.配置load.ipxe文件。

一会儿把iscsi服务搭建好了再说,现在先不急。

3.配置lvm

可以创建快照的东西,这样可以减少文件占用,在我提供的tgtool工具里面,所用到的就有lvm。
sudo apt-get -y install lvm2.

剩下的请参考我之前的文章

https://blog.csdn.net/qq_21491871/article/details/113646284?spm=1001.2014.3001.5501

4.搭建tgt服务(这一步必须要在debian或ubuntu系统下,如果动手能力强的,也可以在openwrt下。)

如果有机器实在安装不上的,直接去github上面克隆一个tgt仓库,然后自己编译一个最新版的。
如果编译报错,请修改gcc版本,上面压缩包提供的文件就是本人手动编译的tgt,从源码构建然后修改端口的。本人提供的tgt版本时V1.0.72版本,可以使用./tgt -version 查看

https://www.jianshu.com/p/f66eed3a3a25
#GCC版本切换教程

sudo apt install tgt #安装iscsi服务。

我提供的压缩包里面,也有tgt二进制文件,请与tgtool放在同一个目录,我提供的tgt二进制文件服务端口是3261,而默认的tgt服务端口是3260,如果是能看懂我的tgtool里面的源代码,那么可以不用配置tgt。

请参考下面的配置教程,注意,像指向/dev/sdan之类的文件,可以指向自己LVM的逻辑盘或者快照,
注意iqn命名,切记不能有大写,否则在windows下会出现bug(无法链接)!!!

http://www.voidcn.com/article/p-yujyxehg-cs.html

5.配置load.ipxe

load.ipxe内容

#!ipxeset keep-san 1
set root-path iscsi:<服务器IP>::<iscsi服务端口>::<IQN名字>
prompt -k 0x197e -t 2000 Press F12 to install Windows... || exit

如果想要DIV一个带有选择菜单之类UI的可以参考下面的教程

https://blog.csdn.net/xinlan3618/article/details/104516260

6.启动客户机,无盘启动。

如果iscsi磁盘没有进行过操作的,那么在客户机中就可以通过ipxe 初始化操作之后,就可以直接通过光驱或者USB进行系统安装。本人在vmare虚拟机中测试通过,使用windows10镜像会在安装的初步阶段就蓝屏,貌似提示显卡驱动的问题,换过server 2012 ,server 2016 系统,但是UI不友好,win7兼容性差,所以就想到了win8,个人觉得win8有win10的“win10移动性”,win8除了开始菜单不太好以外,其他的还好。

“win10移动性”:就是说你装有win10的电脑硬盘换到其他主板上也一样可以使用,他会在你启动机器的时候自动安装驱动,而win7不行。

7.压缩包文件说明:

某些文件上面介绍过的就不介绍了。
tgtool:可以代替tgt的初始化文件,直接通过tgtool来控制tgt服务。

./tgtool start           #启动服务
./tgtool stop           #关闭服务
./tgtool load N         #加载N个虚拟快照,用于创建多个独立的启动镜像文件。这里创建了,还需要你在load.ipxe 中分配个某台电脑。
./tgtool list           #查看当前已经加载了多少快照,可以显示iqn名字,其中可以显示某个iqn下有哪些客户链接,
./tgtool delete         #清理没由本脚本创建的快照。
./tgtool reload         #重置已经加载的快照。
./tgtool target         #用tgtadm 原始命令来列出tgt信息。
./tgtool orgin          #加载母盘到tgt服务上面。请修改 tgtool中的orgin=【你的母盘位置,我指向的是LVM中iscsi池中的win8_BIOS_SYS 逻辑分区】

exit.exe

利用windows内核来达到闪电关机。对于快照来说,这种闪电关机并没有什么影响。

ModifyHostname.bat

设置主机名字的脚本,这样可以在电脑开机时强制修改主机名,但是不能更改电脑在网络中的名字

WindowsDefenderRemoveScript.zip

直接解压文件夹,不要一个文件解压。可以删除Defender。

BOOTICEx64.exe

pe中的工具,请自行百度

power.ps1

开机脚本请自己去修改脚本,这个与ModifyHostname.bat 放在同一个命令,可以实现在windows 用户登陆之前进行的操作。
修改里面的start.php链接,变成自己的,那么可以在电脑启动完成后,拉取自己的powershell脚本执行。

shutdown.ps1

关机脚本
里面的stop.php也可以修改为自己的,当电脑执行关机时,执行一下这个脚本。

上面的开机脚本和关机脚本都需要自己在windows中【组策略】设置,
请参考下面的教程,注意是powershell脚本

https://www.pianshen.com/article/78081395830/

8.其他说明:

在DHCP配置load.ipxe文件的时候,可以指向一个网站的文件,比如

http://192.168.1.102/boot.php?mac=${net0/mac}

这样就可以通过机器的mac来动态分配iqn【虚拟磁盘了】。
如果不修改load.ipxe 让多台电脑启动同一个镜像的话,虽然对母盘没有影响,但是会出现数据错误,所以不建议。

像主机母盘制作好以后,在其他客户机上用快照启动win8,会显示你第一次安装windows的那个“有朋自远方来,不亦说乎”之类的UI,可以去母盘,从组策略中关闭。【计算机配置-管理模板-系统-登录-显示首次登录动画】改为已禁用。

[完]

用iscsi和DHCP搭建一个windows无盘系统站【笔记】相关推荐

  1. 万象网管怎么在无盘服务器装,一个网吧无盘系统的安装步骤(新手教程)

    无盘系统安装步骤说明 这里我们以网吧无盘安装网维大师无盘系统为案例来安装说明. 第一步: 配置网络,也就是配置路由器,让网络正常接入.将网络调试正常,接入到路由器并配置好,然后接入到局域网的核心主交换 ...

  2. linux搭建windows无盘系统,PXE+HTTP 无盘安装linux系统

    前一段时间买了一台小本子,IBM的x60,轻是轻,但是没有光驱.而且系统安装的XP的系统,不喜欢.于是自己用PXE+HTTP重做了系统. 1.     建立服务器 服务器需要安装DHCP.TFTP.W ...

  3. CentOS7无盘系统:nfs4_reclaim_open_state: Lock reclaim failed!

    最近搭建CentOS7的无盘系统,主要参考了这个教程: http://hmli.ustc.edu.cn/doc/linux/centos7.6-diskless/ 最后确定使用TFTP+DNSMASQ ...

  4. 轻松搭建一个Windows SVN服务器

    轻松搭建一个Windows SVN服务器 前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个 ...

  5. 手把手教如何搭建一个百度网盘目录站点【保姆级】

    如何搭建一个百度网盘目录站点 最近一研究虚拟货源项目,由于资料太多,不得已把硬盘扩容到了300T,但是扩容后问题也出来了,问题1:由于是通过技术手段扩容,百度盘已经爆满,已经无法存储新的资料. 问题2 ...

  6. 闲置硬盘自制nas私有云_家里闲置硬盘怎么办?教你自己搭建一个私人云盘!

    原标题:家里闲置硬盘怎么办?教你自己搭建一个私人云盘! 最近在家比较闲,把家里之前电脑硬盘升级到固态硬盘的那个500G的机械硬盘翻出来,看看如何利用起来,在家里放着也是浪费.因为有好多个人资源需要,但 ...

  7. 键盘侠Linux干货| 使用Nginx搭建一个私人网盘

    前言 使用Nginx搭建一个私人网盘 安装Nginx 增加 Nginx 官方源 cat << EOF > /etc/yum.repos.d/nginx.repo [nginx-sta ...

  8. [NVIDIA实习]7月1日 无盘系统搭建 初尝3D vision

    6月30日是第一天到达NVIDIA上海实习,本想写点什么,结果一天就理完了行政上的事情,熟悉了部门里的前辈,就被老板放了假,今天终于有点活干了. 7月1日: AM 10:04,老板说今天要教我搭无盘系 ...

  9. 纵观无盘系统发展历史

    NASAN 全系列无盘工作站系统解决方案是一套以NASAN 全系列无盘服务器为核心,可针对用户实际应用需求对无盘客户端作进一步定制的无盘应用系统解决方案. 无盘网络发展史 一.无盘/终端基本概念 无盘 ...

  10. 无盘系统及服务器,无盘系统服务器

    无盘系统服务器 内容精选 换一换 裸金属服务器具备物理机级的性能和隔离性,用户独占计算资源,并且无任何虚拟化开销.存储在高性能高可靠的服务器上的数据,自然也会很安全.带有本地磁盘的裸金属服务器,支持本 ...

最新文章

  1. NLP(5) | 命名实体识别
  2. 阿里宣布开源Flutter应用框架Fish Redux!
  3. 使用dumpsys检测Activity任务栈
  4. 【网络安全】Xred蠕虫再分析及修复工具编写
  5. python中__init__文件的运用_python中__init__.py文件的作用
  6. 【带着canvas去流浪(11)】Three.js入门学习笔记
  7. 5G版iPhone更多细节曝光:骁龙X55基带+A14处理器
  8. 微课|Python三种方法统计各分数段内的人数(17分钟)
  9. vi/vim文本编辑器的使用
  10. Android Content Provider在应用程序之间共享数据的原理分析
  11. html桌面程序实例spark,【01】Spark 简单实例
  12. IIS发布web网站
  13. Python爬取抖音APP,竟然只需要十行代码
  14. CSV 文件中的字段中的开头和结尾上,可能会存在空格或制表符,但是该如何处理呢?
  15. mysql preparedstatement_关于PreparedStatement你知道多少
  16. CentOS7部署YApi
  17. 使用什么协议扫描服务器端口,服务器端口扫描
  18. 湖北商贸学院计算机二级领取,湖北商贸学院教务管理系统入口http://jw.hbc.edu.cn/...
  19. 数据库 实验六 存储过程
  20. java mail实现smtp登录验证

热门文章

  1. 动手学习深度学习——基本简介
  2. python chardet模块_python编码检测原理以及chardet模块应用
  3. 3dmax 计算机中丢失,3dmax材质丢失怎么快速找回-解决3dmax材质不见了的方法 - 河东软件园...
  4. vba 位 前 相似 筛选_Excel VBA复制筛选的当前区域可见单元格,但排除最后3列
  5. Ubuntu 修改 谷歌输入法 简繁体切换的快捷键
  6. cmd 批量复制文件/文件夹
  7. 德乐Derler T-1series 120G SSD固态硬盘不认盘修复/开卡一例(SM2258XT主控),SM2259XT2可参考
  8. ArcGis拓扑——规则、概念与要点
  9. 单晶X射线衍射法和粉末X射线衍射法有哪些不同?
  10. STM32 SPI驱动OLED12864原理图和源代码分享