2018年10月8日 星期一

Win2008無法啟動Hyper-V虛擬機器 - 憑證錯誤

Windows Server 2008(非R2)裡面的 Hyper-V虛擬機器

安裝完 Windows Update以後,「關機並安裝更新」之後就死掉了。無法重新啟動

之前,「重新啟動並安裝更新」則正常


出現的錯誤訊息 -- 無法啟動Hyper-V虛擬機器 ......憑證錯誤

找到蘇老的文章:http://www.askasu.idv.tw/index.php/2013/06/18/2793/


因為之前已經有多次 Hyper-V無法啟動的經驗,

我立即刪除「設定檔」,注意喔!不是刪除 Hyper-V的硬碟檔喔

重新建立一個新的 Hyper-V的設定,連上原本的 Hyper-V硬碟檔
成功!


如同上面蘇老的經驗談,把舊憑證刪除,也能搞定


我重新建立「設定檔」可能也做了相同的事,所以成功了。

安裝 Windows Update 或是 重新啟動機器,其實都有「風險」

沒有人料定你關機或是 Reboot以後,會不會一睡不醒了?


雖然不是每一次都這樣,但每一兩年遇見一次,心裡也是毛毛的


回過過去關於 Hyper-V的問題,我做的紀錄,共有這幾篇文章。
這次又多了一次經驗談  Orz

https://dotblogs.com.tw/mis2000lab/tags/1?qq=Hyper-V

希望以後不要遇見了,
我對於 Hyper-V的設定與管理,真的沒興趣。我不想遇見、也不想學啊

如何刪除Win2008 Hyper-V的快照(Snapshots)所佔的龐大硬碟空間?






Win2008 Hyper-V的快照(Snapshots)


以前學習Linux的時候
,曾使用過虛擬機器,那時最有名的軟體就是VMWare

http://www.vmware.com/tw/




後來微軟公司買下一家虛擬軟體的公司,推出自己的產品(好像名為 Virtural PC)
http://www.microsoft.com/hk/windows/chinese/virtual-pc/


然後在Windows 2008 Server上市時,就有 Hyper-V功能了。

目前的Windows 2008「R2」是更棒的選擇(不過 R2似乎只有 x64版本)

前些天換購了 Seagate 2.5" 固態混合硬碟  (請看-- [NB新玩具] 固態混合 硬碟)
空間變大了,RAM也夠多。就想來玩玩虛擬機器。



Q : 沒想到才幾天光陰,硬碟空間日益縮小???.................我一直找不出原因

後來才發現 Hyper-V有一個「快照」的功能

http://technet.microsoft.com/zh-tw/library/dd851843.aspx


有點類似即時硬碟備份(類似ghost 或是 硬碟的差異備份)
,當然很佔硬碟空間

上述的微軟說明文章,有很好的建議:

===================================
您應先考量下列項目,再開始使用快照:
*建立快照時虛擬機器的效能降低。您應該在生產環境中提供服務的虛擬機器上使用這些快照。

*建議您在設定使用固定虛擬硬碟的虛擬機器上使用快照,因為他們會降低使用固定虛擬硬碟所得來的效能助益。

*快照需要足夠的儲存空間。快照會以.avhd檔案的形式儲存在虛擬硬碟中的同一個位置。建立多個快照會迅速消耗大量的儲存空間。使用[Hyper-V管理員]刪除快照時,會從快照樹狀目錄中移除該快照,但關閉虛擬機器之後才會刪除.avhd檔案

*請直接從儲存位置刪除 .avhd檔案






重點來了------



必須在Windows 2008「伺服器管理員」裡面,將 Hyper-V裡面的虛擬機器,依照正常程序 關 機
然後才能刪除快照。
註解:「關閉」就跟電源中斷一樣,機器會立刻關掉。
             我們選「關機」才可以依照正常程序作關機。


[設定] 裡面,可以透過 Integrated Server關閉快照功能。
這些步驟,會出現 操作----「合併中....XX%」的程序,滿花時間的。


必須等到合併完成後,才能重新啟動 Hyper-V裡面的虛擬機器

不然的話,快照檔案( .avhd檔) 永遠刪除不掉喔。
他會一直重生....     一直佔據大量硬碟空間.....



ASP.NET MVC,檔案上傳搭配資料庫(FileUpload 檔案二進位存入資料表)

這個範例源自微軟ASP.NET MVC認證考試的教材 -- https://github.com/MicrosoftLearning/20486-DevelopingASPNETMVCWebApplications
FileUpload檔案上傳時,如果要把圖片(二進位內容)存入資料表
資料表的欄位「資料型態」請設定為 Image (舊版本在用的)或 VarBinary(MAX)

(1)  轉成類別檔以後,會變成

public byte[] PhotoFile { get; set; }



(2) 上傳以後,存入(寫入、新增)資料表的寫法:

        [HttpPost]
        public ActionResult Create(Photo photo, HttpPostedFileBase image)
        {   //                                                           ****************************
            if (ModelState.IsValid)
            {   //*** 檔案上傳 ****************************************(start)
                if (image != null)   {
                    photo.PhotoFile = new byte[image.ContentLength];
                    image.InputStream.Read(photo.PhotoFile, 0, image.ContentLength);

                }
                //*** 檔案上傳 ****************************************(end)
                _db.Photos.Add(photo);   // 新增一筆記錄
                _db.SaveChanges();   // 正式寫入資料庫!

                return RedirectToAction("Index");
            }
            return View(photo);
        }




(3) 從資料表裡面「讀取」這些二進位的檔案,並還原成圖片

        public ActionResult Index()
        {
            return View("Index", _db.Photos.ToList());
        }
        //*** 把資料表裡面的「二進位」內容,還原成圖片檔 ****************************
        public FileContentResult GetImage(int PhotoID)
        {
            Photo requestedPhoto = _db.Photos.FirstOrDefault(p => p.PhotoID == PhotoID);

            if (requestedPhoto != null)   {
                return File(requestedPhoto.PhotoFile, "image/jpeg");
            }
            else   {
                return null;
            }
        }



(4) 容易犯錯的地方在於「檢視畫面(View)」,
    我們採用 List範本,列出所有照片

    @foreach (var item in Model) {

            @if (item.PhotoFile != null) {
                @
Url.Action("GetImage 動作", "控制器名稱", new { item.PhotoID })" />               
            }
     
    }



ASP.NET MVC 第一天 5.5小時 完整教學影片,免費觀賞
請看  http://mis2000lab.pixnet.net/blog/post/35141956




第一天,5.5小時的影片(完整內容),免費讓您評估
不用客氣。
註冊完 https://vimeo.com/ 的會員(免費帳號),就寫信跟我登記吧!

請把下圖的資訊,告訴我!
一律透過 E-Mail報名。謝謝您     mis2000lab (at) yahoo.com.tw  或是  school (at) mis2000lab.net

Vimeo_05.jpg