醉卧沙场君莫笑 古来征战几人回
RSS icon Email icon Home icon
  • 在linux下,更新域内的主机名/IP映射关系

    Posted on 十一月 28th, 2008 admin No comments

    域内,windows的机器可以通过 ping直接获得IP地址。

    比如,ping computerA 可以得到机器名为computerA的IP地址。

    linux机器如果在域内动态分配IP地址,那么,如何根据其主机名,取得其IP地址呢?

    一般情况下,配好了 hostname为xxx.test.com 的机器是自然可以这样得到IP地址的。

    但如果不行的话,就有两种方案:

    A. 通过nsupdate来使域内的DNS服务器更新自己的IP。

    $ nsupdate
    > update add xxx.test.com 9999 A 192.168.1.20
    >
    >quit

    B. 注册自己在 WINS服务器上的名字。

    这一项还没有找到现成程序,可能要自己编程解决。也许有吧,谁知道的留 言告诉我。

    编程不麻烦,假设linux的IP是192.168.1.4 ,找一台windows,设IP为192.168.1.10

    在linux上面运行命令

    tcpdump -X -s 300 “src host 192.168.1.10″

    然后在 win上,把wins服务器设为 192.168.1.4

    这样,win就会去linux注册自己,看到相应的二进制包,仿照着就可以开始开发了。

    当然要开发,光有二进制包还不行,可以参照着 rfc1002 先把包弄懂。rfc1001也可先看看。

    弄懂后,写个程序就易于反掌了!

     

    顺便说一下,在dns上注册名字后,windows 可能还不能马上ping到,ping会报告找不到名字。这是因为windows有缓存。可以用下面这条命令手动清掉windows的DNS缓存(DNS Cache)。

    ipconfig /flushdns

     

     

  • U盘启动小结

    Posted on 十一月 24th, 2008 admin 1 comment

    现在的U盘都比较大了,所以ZIP模式和HDD模式已经不太重要了,可以忽略了。

    本文只说  USB-CD模式和USB-HDD模式。

    USB-CD 模式是比较不错的一个方式,可惜对硬件有一定要求。现在我们去买U盘的时候,能买到一些U盘带有一些特殊的功能,比如杀毒功能。这种U盘插入电脑后,会多出两个盘符,一个是光盘,里面放的是实现这些特殊功能的软件,还有一个就是移动盘符,也就是给用户使用的U盘存储了。

    那么,这个光盘是怎么出来的呢?实际上,每个U盘都可以这样造出光盘来,用量产工具就可以了,量产工具可以在这里找到:

    http://bbs.mydigit.cn/read.php?tid=20620

    不过,这样生产出来的光盘,不一定能用来启动。这跟BIOS有关系,一个U盘上同时有光盘和移动存储时,可能有两种情况。情况A:光盘在前面,移动存储在后面。情况B:移动存储在前,光盘在后。

    如果碰到情况B,问题不太好办。有的主板只认第一个东西。比如IBM笔记本,我的T43和刚买的X200,BIOS都不支持这种状况。碰到情况A就比较好了。遗憾的是,这个A和B不是自己能选的,量产工具并不支持调整,所以,只能买不同芯片的U盘来达到这一目的。目前我用过的,只有iCreate的芯片的量产工具是支持情况A的。有了这样的U盘后,量产一下,只要主板支持USB-CD,就什么ISO都能拿来启动了。

    小结一下步骤:

    1. 确定U盘的量产工具
    2. 量产放入一个支持启动的ISO。
    3. 改BIOS从USB-CD启动,实验。如果主板支持情况B,则什么U盘都能启动。
    4. 如果主板不支持情况B,就只能去找个别的芯片的U盘了,比如找个iCreate芯片的。然后重新从2试。

    另一模式是USB-HDD模式。对于U盘,如果量产时设置成移动型,那么windows在格式化时,不会生成分区表,不会有MBR,这样主板是不认识也不能启动的。可以在linux下fdisk,可以生成MBR和分区表。当然,不用linux的话,下载一个HPUSBFW.exe格式化一下,也有MBR和分区表了。不过用hpusbfw格式化后,最好再用XP自己格一下,这样生成的分区就肯定支持启动微软自家的NTLDR了。启动了NTLDR其它都好办了。不过整完后,还需要用winhex改一下,把分区改为活动的,可以用winhex打开整个设备,改一下0×1be处,把00改为80。还需要改一下分区,用winhex打开格式化后的分区,把0×40处从00改为80。这样后,把C盘的NTLDR,NTDETECT.com,boot.ini放过去,就可以实验一下支持启动的感觉了。

    小结一下步骤:

    1. 用HPUSBFW.exe格式化U盘为FAT32格式。假设完成后有M盘。
    2. 用XP自己格一下M盘,确保启动代码更适合微软的NTLDR。
    3. 用Winhex的打开磁盘功能,打开物理设备(physical media)下的U盘,改0×1be处,从00改为80。
    4. 用winhex的打开磁盘功能,打开逻辑驱动器M盘,把0×40处从00改为80。(注:如果不是FAT/FAT32这样做就损坏数据了)
    5. 此U盘已经能以USB-HDD形式启动,可以放入C盘下的ntldr,ntdetect.com,boot.ini去试验。试验时确保boot.ini具有多项,且等待时间较长,这样就能看到选择启动的画面,从而确定此U盘已经确实能支持启动。
  • 将深山红叶放到U盘上的办法

    Posted on 十一月 23rd, 2008 admin No comments

    这个网上有很多人说,有的人整出了非常复杂的办法,我也是很久之前研究的了,还是写下来,否则下次还要到处找。

    方法超级简单,对于深山红叶,最终版似乎就是 V30正式版,也就是所谓的“嫦娥一号记念版”。

    这个版本打开后目录结构如下:

    I:.
    │  WINNT.XPE
    │  WINPE.IS_
    │  深山红叶系统工具箱.EXE
    │ 
    ├─BOOT
    │  │  CDMENU.BIN
    │  │  CDMENU.EZB
    │  │  DOS98.IMG
    │  │  GRLDR
    │  │  ISOGRUB.BIN
    │  │  LOADER.BIN
    │  │  MEMTEST.BIN
    │  │  MENU.BM1
    │  │  MENU.BMP
    │  │  SETDOS.CMD
    │  │  STAGE2
    │  │  WINDIAG
    │  │  WINPE.INI
    │  │  WINS.BIN
    │  │  XLYBIG.IMG
    │  │ 
    │  └─GRUB
    │          CDBOOT.BS
    │          FAT_STAGE1_5
    │          HD_MENU.LST
    │          MEMDISK.GZ
    │          MENU.LST
    │          NTFS_STAGE1_5
    │          STAGE1
    │          STAGE2
    │         
    ├─PROGRAMS (文件太多,此处省略)
    │             
    └─WXPE
            NTDETECT.COM
            SETUPLDR.BIN

    先确保U盘可以启动NTLDR,

    然后把所有文件copy到U盘上,把WXPE下的两个文件移到U盘根目录,将Setupldr.bin改名为NTLDR

    BOOT目录下只留WINPE.ini,其它全删。

    这样就完成了把深山红叶最终版的U盘化。汗,是不是太简单了,但在不知道方法去试的时候,还是很麻烦的。

    最后的目录结构如下:

    Z:.
    │  NTLDR
    │  WINPE.IS_
    │  深山红叶系统工具箱.EXE
    │  NTDETECT.COM
    │  WINNT.XPE
    │ 
    ├─PROGRAMS  (文件太多,此处省略)
    │             
    └─BOOT
            WINPE.INI

    说明:BOOT下本来有很多文件,可以完成很多的功能,用了这种办法来启动后,这些功能都做不到了(比如启动到DOS,微软内存检测等)。试过了用ezboot的那些东西在非光盘上是用不了的。所以这些文件就都删了。

    当然这些功能要加回来,还是很简单的,在这个方法上添加就行了。可以用grub4dos来启动,添加这些功能。