顯示具有 mount 標籤的文章。 顯示所有文章
顯示具有 mount 標籤的文章。 顯示所有文章

2013年10月10日

Virtualbox 重開虛擬機器失敗: VM session was closed before any attempt to power it on.

我的 ubuntu 10.04 最近一次自動更新系統之後

(uname -a 指令後的結困是: Linux ubu1004-srv 2.6.32-52-server #114-Ubuntu SMP Wed Sep 1x 1x:06:3x UTC 2013 x86_64 GNU/Linux),

virtualbox 的每一個虛擬機器都無法開啟, 得到以下的錯誤訊息:

一開始是

VBoxManage:error:The machine ‘xxx...′ is already locked by a session(or being locked or unlocked)

查了網路, 看到這一篇的 "解决方案", 原來是檔被鎖住了, 先下個指確定

     ps ax|grep -i virtualbox

找到如下行的 process 編號
21890 ? Sl 10:34 /usr/lib/virtualbox/VirtualBox –comment svr207 –startvm bxxxxx

再下指令 kill 殺到這個程序, 以為就 OK了,
     kill 21890

沒想要啟動虛擬機器又得到以下錯誤訊息

VBoxManage: error: 
The VM session was closed before any attempt to power it on.
code NS_ERROR_FAILURE (0x80004005)
component SessionMachine, interface ISession

拜了很久的網路文章, 看來好像不少人遇到這個錯誤, 但都無法解決問題。冷靜想想後, 猜應該是和更新 kernel 有關, 查我自行 mount 進來的 NTFS 硬碟, 發現變成「唯讀」, 所以才發無啟動 virtualbox (即使用 sudo chmod 或 sudo chown 都無法改變檔案和目錄的屬性)。 檢查掛載資訊檔

        sudo gedit /etc/fstab


以前的 fstab 文件最後一行加入:
        /dev/hdd1 /media/hdd1 ntfs utf8,umask=0222 0 0

現在不能用了, 將它改成 (中間沒有任何逗號):
         /dev/hdd1 /media/hdd1 ntfs 0 0

先缷載 sudo umount /dev/hdd1, 再重新用指令掛載
        sudo mount -a

竟然恢復正常了,沒時間去確認 fstab 的語法是否改變,但看起來是不需要 options 參數 (utf8,umask=0222)來允許自行掛載的 NTFS 硬碟讀寫了,變的比較精簡。

2012年5月16日

救援 LVM 磁碟中的資料

我在 virtualbox 的客戶端中的 ubuntu 10.04 更新了系統, 但是因為有使用 "分享資料夾" 的關係, 所以竟然開不了機, 看訊息後判斷, 應該是在 virtualbox 安裝 ubuntu 時, 誤選了使用 LVM 型的硬碟分割...

解決方法: (參考如何手動mount一個 LVM的Patition )
1. 用 ubuntu 桌面版開機
2. 安裝 pvscan
   sudo apt-get install pvscam
3. 下指令查看 LVM 分割
   sudo pvscan
結果例如
   PV /dev/sda2 VG VolGroup00 lvm2 [18.50 GB / 32.00 MB free]
   Total: 1 [18.50 GB] / in use: 1 [18.50 GB] / in no VG: 0 [0 ]

可知有一個VG,叫做VolGroup00,他的PV(Physical Volume)是 /dev/sda2
4. 查看 LVM 分割
下指令:
   sudo vgchange -ay VolGroup00
   sudo 0ls /dev/VolGroup00
5. 掛載該分割
   sudo mkdir /mnt/tmp
   sudo mount /dev/VolGroup00/LogVol00 /mnt/tmp/ 

接著再把 vritualbox 的 "分享資料夾" 用 # 註解起來, 即可重開機

6. 不過, 後來要恢復原來的自動掛載並不順利, 用 df 指令看, 有兩個相同的 "分享資料夾"
   shared         41945680   5034376  36911304 25% /home/xxx/ntfs
   shared         71945680   9034376  46911304 28% /media/sf_shared
試了很多種方法, 重開之後還是一樣不行, 最後不知為何, 竟然 OK了, 大致上是

1. sudo unmount shared 兩次
2. 手動 mount 一次
   sudo mount -t vboxsf shared /home/xxx/ntfs -o uid=1000
3. 使用自動依 /etc/fstab mount 一次
   sudo mount -a

最後重開機

2012年1月22日

Virtualbox 掛載 共用資料夾 (Client 端是 ubuntu)

在 Virtualbox 中可用 "共用資料夾"來和主機 (host) 分享資料夾, 但使用 virtualbox 預設的掛載, 在 ubuntu 10.04 (即 client 端是 ubuntu 10.04,試過 Mint 7 也適用) 中卻只能用 root 身份才能存取, 有些不方便。

經研究後, 可在 fstab 中採用自動掛載, 以方便使用 virtualbox 的 共用資料夾 , 步驟如下:

1. 在 virtualbox 的 OS 視窗主選單中, 選 [裝置→共用資料夾], 然後新增一個 (按 + 號的圖示) 例如名稱為 shared 的共用資料夾
2. 記得其中 "唯讀"、"自動掛載" 兩個選項都不要勾選, 但是 "永久" 要勾選
3. 先在你自己的家目錄中建立一個空的目錄,例如下例中的 ntfs, 
4. 再編輯 /etc/fstab 檔
    sudo gedit /etc/fstab

    在其中最後一行加入
    shared         /home/yourname/ntfs    vboxsf    uid=xxxx 0 0

其中的 uid=xxxx 的 xxxx 是你在 ubunut 中的 user id (不知者, 可用 [系統→管理→使用者及群組], 然後在隨後出現的視窗中, 按 [進階設定], 輸入管理者密碼後, 看 "使用者 ID" 即是你的 ID)

重新開機以後, 即可以自動掛載為你可以編輯的 "共用資料夾" 囉!

VirtualBox 官網記載在 /etc/fstab 的寫法是:

To mount a shared folder during boot, add the following entry to /etc/fstab:
sharename   mountpoint   vboxsf   defaults  0
 
但使用者必需加入群組 vboxsf 

2011年1月24日

ubuntu 中掛載 NTFS 磁碟

開機時自動掛載 Windows 分割區 (FAT),並允許所有使用者能 讀取/寫入:
假設 Windows 的分割區 (FAT) 是 /dev/hda1 ,掛載的資料夾是 /media/windows
sudo gedit /etc/fstab
在最後加上
/dev/hda1 /media/windows vfat iocharset=utf8,umask=000 0 0
然後儲存檔案

開機時自動掛載 Windows 分割區 (NTFS),並允許所有使用者能讀取:


假設 Windows 的分割區 (NTFS) 是 /dev/hda1 ,掛載的資料夾是 /media/windows
sudo mkdir /media/windows
sudo cp /etc/fstab /etc/fstab.backup
sudo gedit /etc/fstab
在最後加上
/dev/hda1 /media/windows ntfs nls=utf8,umask=0222 0 0
按照 /etc/fstab 的設定自動重新掛載一次 (不用重開機)
sudo mount -a
參考: ubuntu 正體中文, 鳥哥的 Linux 私房菜

2009年10月15日

在 ubuntu 下, 手動掛載, 或自動掛載 fat32/NTFS 硬碟

在終端機下指令:

假設你的硬碟是 /dev/hdd1
    1、建立xxx子目錄,此名字可任取
        $sudo mkdir /media/xxx
    2、掛載 partition 分區
    ntfs 格式:
        $sudo mount -t ntfs /dev/hdd1 /media/xxx
    fat32 格式:
        $sudo mount -t vfat /dev/hdd1 /media/xxx
    3、下次自動掛載
    按照第二步的方法掛載的話,下次啟動系统時不會自動掛載,要想系统自動掛載该分區,输入以下命令:
        $sudo cp /etc/fstab /etc/fstab_backup
        $sudo gedit /etc/fstab

    在打開的 fstab 文件最後一行加入:
        /dev/hdd1 /media/hdd1 ntfs utf8,umask=0222 0 0
    如果是 fat32 格式,输入:
        /dev/hdd1 /media/hdd1 vfat utf8,umask=000 0 0
    儲存後退出,重新啟動系统即可。

後記 (2013.10.10), 如果以上指令語法有問題, 參見本站另一篇文章「Virtualbox 重開虛擬機器失敗: VM session was closed before any attempt to power it on.」, 因為 fstab 的語法可能有些微變動。