• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            2016年9月27日

            使用 Ubuntu Server  難免會(huì)遇到需要gui的時(shí)候,
            這里介紹一種最簡(jiǎn)單的方法

            $sudo tasksel

            這一句就可以了。
            然后會(huì)有桌面列表可以選擇,空格鍵選擇,然后回車(chē)。
            等待完成。

            posted @ 2016-09-27 17:04 snowman1101 閱讀(1570) | 評(píng)論 (0)編輯 收藏

            2016年6月14日

            今天拿到了 Microsoft Surface 3 ,
            測(cè)試一個(gè)EFI程序的時(shí)候總是出問(wèn)題,
            后來(lái)查了一下,發(fā)現(xiàn)在使用EFI_BLOCK_IO 取得外接USB閃存大小的時(shí)候
            也就是 BlkIo->Media->LastBlock 取得的大小會(huì)比實(shí)際的多出來(lái)一個(gè)
            估計(jì)是寫(xiě)固件的人理解出了問(wèn)題。
            這里是定義
            /**
              Block IO read only mode data and updated only via members of BlockIO
            *
            */
            typedef struct {
              ///
              
            /// The curent media Id. If the media changes, this value is changed.
              
            ///
              UINT32  MediaId;         
               ///
              
            /// TRUE if the media is removable; otherwise, FALSE.
              
            ///    
              BOOLEAN RemovableMedia;
               ///
              
            /// TRUE if there is a media currently present in the device;
              
            /// othersise, FALSE. THis field shows the media present status
              
            /// as of the most recent ReadBlocks() or WriteBlocks() call.  
              
            ///
              BOOLEAN MediaPresent;
              ///
              
            /// TRUE if LBA 0 is the first block of a partition; otherwise
              
            /// FALSE. For media with only one partition this would be TRUE.
              
            ///
              BOOLEAN LogicalPartition;
               ///
              
            /// TRUE if the media is marked read-only otherwise, FALSE.
              
            /// This field shows the read-only status as of the most recent WriteBlocks () call.
              
            ///
              BOOLEAN ReadOnly;
               ///
              
            /// TRUE if the WriteBlock () function caches write data.
              
            ///
              BOOLEAN WriteCaching; 
               ///
              
            /// The intrinsic block size of the device. If the media changes, then
              
            /// this field is updated.  
              
            ///
              UINT32  BlockSize; 
               ///
              
            /// Supplies the alignment requirement for any buffer to read or write block(s).
              
            ///
              UINT32  IoAlign; 
               ///
              
            /// The last logical block address on the device.
              
            /// If the media changes, then this field is updated. 
              
            ///
              EFI_LBA LastBlock; 
              ///
              
            /// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
              
            /// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the first LBA is aligned to 
              
            /// a physical block boundary. 
              
            ///
              EFI_LBA LowestAlignedLba;
              ///
              
            /// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
              
            /// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the number of logical blocks 
              
            /// per physical block.
              
            ///
              UINT32 LogicalBlocksPerPhysicalBlock;
              ///
              
            /// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to
              
            /// EFI_BLOCK_IO_PROTOCOL_REVISION3. Returns the optimal transfer length
              
            /// granularity as a number of logical blocks.
              
            ///
              UINT32 OptimalTransferLengthGranularity;
            } EFI_BLOCK_IO_MEDIA;
            其中那個(gè)LastBlock是這樣說(shuō)明的
              /// The last logical block address on the device.
            所以應(yīng)該是總的block 數(shù)-1.
            不知道微軟的工程師為什么會(huì)有這樣的錯(cuò)誤

            posted @ 2016-06-14 09:28 snowman1101 閱讀(544) | 評(píng)論 (0)編輯 收藏

            2013年3月28日

            前言 
             編譯好 EFI程序后,每次都用U盤(pán)到另外一臺(tái)電腦上測(cè)試實(shí)在很麻煩,一天下來(lái)U盤(pán)要插拔很多次
            無(wú)意中發(fā)現(xiàn)
            Oracle VM VirtualBox 的系統(tǒng)選項(xiàng)中有個(gè) 支持 EFi 。
            又在網(wǎng)上找了一下發(fā)現(xiàn) VMware Player 也可以支持 EFI
            下面總結(jié)一下方法

            1. 首先到VMWARE官網(wǎng)下載免費(fèi)的 VMware Player 下載
            2.正常安裝VM Player后 創(chuàng)建一個(gè)新的虛擬主機(jī),并且類(lèi)型選擇 64位的OS
            3.到創(chuàng)建的虛擬機(jī)目錄 找到 .
            vmx文件 用記事本打開(kāi) 然后添加一行 
            firmware = "efi" 
            這樣你的VM虛擬機(jī)就支持UEFI啟動(dòng)了。


            如果想要測(cè)試我們自己編譯的 .EFI 程序的話(huà)
            到虛擬主機(jī)的編輯選項(xiàng)中,新添加一個(gè)硬盤(pán),然后類(lèi)型選擇實(shí)際物理磁盤(pán)
            根據(jù)個(gè)人的需要再選擇整個(gè)磁盤(pán)或者某一個(gè)分區(qū)
            之后把編譯好的EFI文件復(fù)制到指定的磁盤(pán)或者分區(qū)中就可以了。
            要注意的是,開(kāi)啟虛擬機(jī)的時(shí)候必須保證指定的磁盤(pán)/分區(qū)是關(guān)閉的。同樣復(fù)制文件的時(shí)候也要關(guān)閉虛擬機(jī)。






            posted @ 2013-03-28 11:12 snowman1101 閱讀(632) | 評(píng)論 (0)編輯 收藏

            僅列出標(biāo)題  
            久久久久久精品久久久久| 国内精品人妻无码久久久影院导航| 久久一日本道色综合久久| 久久久无码精品亚洲日韩按摩| 久久国产精品-久久精品| 久久久久人妻精品一区三寸蜜桃| 久久天天日天天操综合伊人av| 一本一本久久aa综合精品| 久久精品www| 丁香色欲久久久久久综合网| 99久久精品国产毛片| 丁香色欲久久久久久综合网| 久久国产午夜精品一区二区三区| 久久99久久99精品免视看动漫| 狠色狠色狠狠色综合久久| 久久综合亚洲色HEZYO社区| 四虎国产永久免费久久| 97精品依人久久久大香线蕉97| 国产精品免费久久久久久久久 | 久久免费国产精品一区二区| 成人综合久久精品色婷婷| 亚洲成色999久久网站| 久久婷婷五月综合97色一本一本| 久久天天躁狠狠躁夜夜2020| 99热成人精品免费久久| 国产精品久久久久久影院| 日本人妻丰满熟妇久久久久久| 亚洲国产成人精品女人久久久 | AV狠狠色丁香婷婷综合久久| 思思久久精品在热线热| 国产福利电影一区二区三区久久老子无码午夜伦不 | 7777精品伊人久久久大香线蕉| 精品国产乱码久久久久久浪潮| 国产精品免费福利久久| 久久精品国产亚洲av水果派| 久久人人爽人人爽人人片AV高清| 欧美大战日韩91综合一区婷婷久久青草| 97精品国产91久久久久久| 国内精品久久人妻互换| 久久这里只有精品18| 久久精品成人免费网站|