bloggerads

2015年3月16日 星期一

UEFI : Shell Command & Information

EFI Shell "不" Support exFat / NTFS, 做成此類File System的碟機,只會看到有安裝BlkIo Protocol但看不到增加File system節點, 以下在shell底下研究map指令的輸出結果

從實驗的結果來看,幾個blockio handle的數量會等於partition的數量加上device的數量

幾個可被Uefi recognize的FileSystem(ex: fat32) 就會產生幾個 fs節點

USB Uefi Boot disk


Device mapping table

  fs0  :Removable HardDisk - Alias hd16b0c0b blk0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk0 :Removable HardDisk - Alias hd16b0c0b fs0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk1 :Removable BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
  hd16b0c0b :Removable HardDisk - Alias fs0 blk0 
             PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)

<note>

HD(PartX,SigY)
Partition X on a disk with signature Y
Pci(1|0)
device/slot number 1
function number 0

USB Uefi Boot disk + 1 Sata Without Partition => No Sata Hard Disk was found, But found another BlockDevice


Device mapping table

  fs0  :Removable HardDisk - Alias hd16b0c0b blk0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk0 :Removable HardDisk - Alias hd16b0c0b fs0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk1 :BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)
  blk2 :Removable BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
  hd16b0c0b :Removable HardDisk - Alias fs0 blk0 
             PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)

USB Uefi Boot disk + 1 Sata With 1 Partition (exFat) => exFat can not recognize by UEFI, so no other fs was found but do found Harddisk (MBR)

Device mapping table
  fs0  :Removable HardDisk - Alias hd16b0c0b blk0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk0 :Removable HardDisk - Alias hd16b0c0b fs0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk1 :HardDisk - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)/HD(1,MBR,0x7a562b47,0x800,0xdf93800)
  blk2 :BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)
  blk3 :Removable BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
  hd16b0c0b :Removable HardDisk - Alias fs0 blk0 
             PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)


USB Uefi Boot disk+ 1 Sata With 1 Partition and (Fat32)

Device mapping table
  fs0  :HardDisk - Alias hd30c65535a1 blk0 
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)/HD(1,MBR,0x7a562b1a,0x3f,0xdf94b71)
  fs1  :Removable HardDisk - Alias hd16b0c0b blk1 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk0 :HardDisk - Alias hd30c65535a1 fs0 
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)/HD(1,MBR,0x7a562b1a,0x3f,0xdf94b71)
  blk1 :Removable HardDisk - Alias hd16b0c0b fs1 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk2 :BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)
  blk3 :Removable BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
  hd30c65535a1 :HardDisk - Alias fs0 blk0 
                PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)/HD(1,MBR,0x7a562b1a,0x3f,0xdf94b71)
  hd16b0c0b :Removable HardDisk - Alias fs1 blk1 
             PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)


USB Uefi Boot disk  + 1 Sata With 2 Partition (exFat)

Device mapping table
  fs0  :Removable HardDisk - Alias hd16b0c0b blk0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk0 :Removable HardDisk - Alias hd16b0c0b fs0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk1 :HardDisk - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)/HD(1,MBR,0x7a562b47,0x800,0x61a8000)
  blk2 :HardDisk - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)/HD(2,MBR,0x7a562b47,0x61a8800,0x7deb000)
  blk3 :BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1f,0x2)/Sata(0x2,0x0)
  blk4 :Removable BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
  hd16b0c0b :Removable HardDisk - Alias fs0 blk0 
             PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)

===================================================
其他一些指令介紹
===================================================

Shell>ver 
//看UEFI版本

Shell> map
//以下只接一個USB UEFI Boot device的map輸出
Device mapping table

  fs0  :Removable HardDisk - Alias hd16b0c0b blk0 

        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)

  blk0 :Removable HardDisk - Alias hd16b0c0b fs0 
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
  blk1 :Removable BlockDevice - Alias (null)
        PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
  hd16b0c0b :Removable HardDisk - Alias fs0 blk0 
             PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)


Shell> dh -p blkio

Handle dump by protocol 'BlkIo'
 152: DevPath (..0)/USB(0x1,0x0)/USB(0x2,0x0))DiskIo BlkIo UsbIo 
 153: DevPath (..BR,0x59d5afd7,0x3f,0xead5ff))Fs DiskIo BlkIo 

Shell> dh -d 152

 152: DevPath (..0)/USB(0x1,0x0)/USB(0x2,0x0))DiskIo BlkIo UsbIo 
     Controller Name    : JetFlashTranscend 8GB 
     Device Path        : PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)
     Controller Type    : BUS
     Configuration      : NO
     Diagnostics        : NO
     Managed by :
       Drv[104] : USB Mass Storage driver
       Drv[12B] : Image(FvFile(5ae3f37e-4eae-41ae-8240-35465b5e81eb))
       Drv[12F] : Image(FvFile(5ae3f37e-4eae-41ae-8240-35465b5e81eb))
     Parent Controllers :
       Parent[13E] : USB Host Controller
     Child Controllers  :
       Child[153] : FAT32 File System [7GB]


Shell> dh -d 153

 153: DevPath (..BR,0x59d5afd7,0x3f,0xead5ff))Fs DiskIo BlkIo 
     Controller Name    : FAT32 File System [7GB]
     Device Path        : PciRoot(0x0)/Pci(0x1a,0x0)/USB(0x1,0x0)/USB(0x2,0x0)/HD(1,MBR,0x59d5afd7,0x3f,0xead5ff)
     Controller Type    : DEVICE
     Configuration      : NO
     Diagnostics        : NO
     Managed by :
       Drv[94] : AMI File System Driver
       Drv[12B] : Image(FvFile(5ae3f37e-4eae-41ae-8240-35465b5e81eb))
     Parent Controllers :
       Parent[152] : JetFlashTranscend 8GB 
     Child Controllers  : <NONE>

1 則留言:

  1. 請問 有甚麼指令可以在 shell底下 更改裝置顯示的順序呢

    回覆刪除