<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Lun on ZRJ | 学习笔记</title>
        <link>https://blog.zrj.me/tags/lun/</link>
        <description>Recent content in Lun on ZRJ | 学习笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-CN</language>
        <lastBuildDate>Fri, 07 Dec 2012 15:29:30 +0800</lastBuildDate><atom:link href="https://blog.zrj.me/tags/lun/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>关于 DELL 1420 无法从 USB-CDROM 引导</title>
        <link>https://blog.zrj.me/posts/2012-12-07-%E5%85%B3%E4%BA%8E-dell-1420-%E6%97%A0%E6%B3%95%E4%BB%8E-usb-cdrom-%E5%BC%95%E5%AF%BC/</link>
        <pubDate>Fri, 07 Dec 2012 15:29:30 +0800</pubDate>
        
        <guid>https://blog.zrj.me/posts/2012-12-07-%E5%85%B3%E4%BA%8E-dell-1420-%E6%97%A0%E6%B3%95%E4%BB%8E-usb-cdrom-%E5%BC%95%E5%AF%BC/</guid>
        <description>&lt;p&gt;昨天拿到一个笔记本，是 DELL 的 1420，想要重装系统，结果发现没有办法从量产的 USB-CDROM 启动，google 一下，发现了一个新的东西，关于 BIOS 引导的，叫做 Mutil-Lun，帖子在这里，&lt;a class=&#34;link&#34; href=&#34;http://bbs.wuyou.com/viewthread.php?tid=198411&amp;amp;extra=&amp;amp;page=1&#34;  title=&#34;http://bbs.wuyou.com/viewthread.php?tid=198411&amp;amp;extra=&amp;amp;page=1&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://bbs.wuyou.com/viewthread.php?tid=198411&amp;amp;extra=&amp;amp;page=1&lt;/a&gt;，是由 wuwuzz 提出的，他的原文是说&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;问一下，是什么主控盘? 量产的USB-CD是前置(Lun0)还是后置(非Lun0)? 那些对Multi-Lun支持不佳的BIOS，即使支持USB-CD引导，也可能在Multi-Lun 映射连接环节有误，导致量产的USB-CD识别、引导失败。这种问题可通过量产单CD (U盘容量全部分给CD)来测试。&lt;/p&gt;
&lt;p&gt;LZ的问题不是什么巧合，也不是怪问题，而是常见的Multi-Lun支持不善问题。&lt;/p&gt;
&lt;p&gt;LZ的这个DELL BIOS是很老的那种，USB模块只注重单Lun DISK启动的情况， Multi-Lun支持差(包含了USB-CD支持不佳这个子问题)。&lt;/p&gt;
&lt;p&gt;LZ的做法其实就是把U盘恢复成BIOS支持的单Lun DISK设备引导，当然能成功。&lt;/p&gt;
&lt;p&gt;-&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&lt;/p&gt;
&lt;p&gt;BIOS BOOT标准出来的时候，并未对USB下的Multi-Lun设备做出有针对性 的详细规定(很正常，那个年代，连U盘都少见)。对USB Multi-Lun的支持， 无论是BIOS，还是Windows/Linux这些操作系统，都是后来不断打补丁， 逐步实现的。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;那么，这个 Mutil-Lun 是个什么东西呢，看百度百科，&lt;a class=&#34;link&#34; href=&#34;http://baike.baidu.com/view/541220.htm&#34;  title=&#34;http://baike.baidu.com/view/541220.htm&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://baike.baidu.com/view/541220.htm&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;LUN的全称是Logical Unit Number，也就是逻辑单元号。我们知道SCSI总线上可挂接的设备数量是有限的，一般为6个或者15个，我们可以用Target ID(也有称为SCSI ID的)来描述这些设备，设备只要一加入系统，就有一个代号，我们在区别设备的时候,只要说几号几号就ok了。 　　而实际上我们需要用来描述的对象，是远远超过该数字的，于是我们引进了LUN的概念，也就是说LUN ID的作用就是扩充了Target ID。每个Target下都可以有多个LUN Device，我们通常简称LUN Device为LUN，这样就可以说每个设备的描述就有原来的Target x变成Target x LUN y了，那么显而易见的，我们描述设备的能力增强了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;但是和我们这个问题进一步的解释百度百科就没有了，翻看了一下 wikipedia 也没怎么看到，我自己的理解是，我们计算中的设备一般都挂在 Lun0 下，而自己量产出来的 USB-CDROM 接入系统之后，会被认为是另外一个 Lun，而一些比较完善的主板，是可以支持多个 Lun 的，但是这个 DELL 的笔记本不支持Mutil-Lun，所以也就无法识别到这个设备，自然也就无法从这个设备去引导启动了。&lt;/p&gt;
&lt;p&gt;另外，在查阅资料的过程中，就见到几个名词，例如 CHS，&lt;a class=&#34;link&#34; href=&#34;http://baike.baidu.com/view/209703.htm&#34;  title=&#34;http://baike.baidu.com/view/209703.htm&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://baike.baidu.com/view/209703.htm&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;CHS寻址模式：&lt;/p&gt;
&lt;p&gt;柱面解释(4张) 　　① CHS寻址模式将硬盘划分为磁头（Heads）、柱面(Cylinder)、扇区(Sector)。 　　△磁头(Heads)：每张磁片的正反两面各有一个磁头，一个磁头对应一张磁片的一个面。因此，用第几磁 头就可以表示数据在哪个磁面。 　　△柱面(Cylinder)：所有磁片中半径相同的同心磁道构成“柱面&amp;quot;，意思是这一系列的磁道垂直叠在一起，就形成一个柱面的形状。简单地理解，柱面数=磁道数。 　　△扇区(Sector)：将磁道划分为若干个小的区段，就是扇区。虽然很小，但实际是一个扇子的形状，故称为扇区。每个扇区的容量为512字节。 　　② 知道了磁头数、柱面数、扇区数，就可以很容易地确定数据保存在硬盘的哪个位置。也很容易确定硬盘的容量，其计算公式是： 　　硬盘容量=磁头数×柱面数×扇区数×512字节 　　③LARGE寻址模式把柱面数除以整数倍、磁头数乘以整数倍而得到的逻辑磁头/柱面/扇区参数进行寻址，所以表示的已不是硬盘中的物理位置，而是逻辑位置。LBA寻址模式是直接以扇区为单位进行寻址的，不再用磁头/柱面/扇区三种单位来进行寻址。但为了保持与CHS模式的兼容，通过逻辑变换算法，可以转换为磁头/柱面/扇区三种参数来表示，但表示的也和LARGE寻址模式一样，已不是硬盘中的物理位置，而是逻辑位置了。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;以及 LBA，&lt;a class=&#34;link&#34; href=&#34;http://baike.baidu.com/view/112216.htm&#34;  title=&#34;http://baike.baidu.com/view/112216.htm&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://baike.baidu.com/view/112216.htm&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;LBA(Logical Block Addressing)逻辑块寻址。在 LBA 模式下，我们知道硬盘上的一个数据区域由它所在的磁头、柱面（也就是磁道）和扇区所唯一确定。早期系统就是直接使用磁头、柱面和扇区来对硬盘进行寻址（这称为CHS寻址），这需要分别存储每个区域的三个参数（这称为3D参数），使用时再分别读取三个参数，然后再送到磁盘控制器去执行。由于系统用8b来存储磁头地址，用10b来存储柱面地址，用6b来存储扇区地址，而一个扇区共有512B，这样使用CHS寻址一块硬盘最大容量为256 * 1024 * 63 * 512B = 8064 MB(1MB = 1048576B)（若按1MB=1000000B来算就是8.4GB）。随着硬盘技术的进步，硬盘容量越来越大，CHS模式无法管理超过8064 MB的硬盘，因此工程师们发明了更加简便的LBA寻址方式。在LBA地址中，地址不再表示实际硬盘的实际物理地址（柱面、磁头和扇区）。LBA编址方式将CHS这种三维寻址方式转变为一维的线性寻址，它把硬盘所有的物理扇区的C/H/S编号通过一定的规则转变为一线性的编号，系统效率得到大大提高，避免了烦琐的磁头/柱面/扇区的寻址方式。在访问硬盘时，由硬盘控制器再将这种逻辑地址转换为实际硬盘的物理地址。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;还有 Fbinst，&lt;a class=&#34;link&#34; href=&#34;http://baike.baidu.com/view/2820577.htm&#34;  title=&#34;http://baike.baidu.com/view/2820577.htm&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://baike.baidu.com/view/2820577.htm&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;fbinst的巧妙构思&lt;/p&gt;
&lt;p&gt;　　预留8M(1-16064扇区)隐藏区，在每个扇区固定位置都写入该扇区在WIN下的LBA值，并在1-63扇区都写入boot code。BIOS启动时，通过boot code读取预先写入的LBA值，并与BIOS识别的LBA值进行比较，找出差距，倒推出当前BIOS对U盘的识别和访问情况，根据这个情况来调整纠正对U盘的访问。&lt;/p&gt;
&lt;p&gt;fbinst隐藏区空闲空间的利用&lt;/p&gt;
&lt;p&gt;　　fbinst对付BOOT兼容性问题的开发已经完成，目前新版本的开发重点已转向隐藏区的利用。由于8M隐藏区的每个扇区记录LBA时只用了几个字节，且boot code占据空间也不是很大，所以大量扇区空间是空闲的。在这个区域里可以嵌入： 　　1,不同版本的grub4dos 　　2, grub2 　　3, ntldr 　　4, 1.44M/2.88M启动盘映像 　　5, 微型Linux 　　在最新的V1.3，有隐藏区扩大参数。例如，-r 20M，就是将隐藏区扩大到20M。其中8M是基本区，后12M是扩展数据区。扩展数据区延伸了fbinst的应用，可以放进体积较大的XP PE的ISO、其他IMG等。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以其实硬件还是挺有意思的。。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
