2009年11月28日 星期六

在 Ubuntu 下執行 .Net 程式

如果要在 Ubuntu Linux 下執行 Windows 下寫好的 .Net 程式,可以安裝 mono、libmono-winforms1.0-cil、libmono-winforms2.0-cil 等三個套件即可:

sudo apt-get install mono (Ubuntu 9.10 已經內建 mono,可省略此行指令)
sudo apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil

執行方法為下指令: mono my_dot_net_program.exe

當然支援不是很完整,但是簡單的元件大多沒有問題。而且不需要使用 wine 或 vmware 等虛擬工具,相當方便!

參考資料:

2009年11月1日 星期日

Ubuntu 9.10 的 grub2 問題

由於最新版的 Ubuntu 9.10 使用了 grub2,與原先的版本使用 grub 在設定上有些不同,如果直接從舊系統升級,可能在安裝完畢後無法開機。

狀況是開機時會停在「Grub Error 15」的地方。

如果上網搜尋,會找到許多關於舊版的解決方案,比如修改 /boot/grub/menu.lst 這個檔案,但在 grub2 裡面已經沒有這個檔案了,當然也就無從改起。

我自己測試有效的方法如下:
[[MORE]]

  1. 拿出 ubuntu 9.10 的 LiveCD,並用它開機。

  2. 打開終端機 (Terminal) 程式。並依照以下指定輸入。

  3. sudo fdisk -l (看看自己有哪些硬碟,並分別使用哪些代號,例如如果你的系統是裝在 /dev/sda1 中,請記下來,以下用這個代號作為例子。)

  4. sudo mount /dev/sda1 /mnt (將自己安裝的系統掛載到 /mnt,如果系統的 /boot 在另一個硬碟,請一併掛到 /mnt 下。)

  5. sudo mount --bind /dev /mnt/dev

  6. sudo chroot /mnt (chroot 到 /mnt 中,這時候你會變成 root 身份,因此以下指令不需要再用 sudo。)

  7. nano /etc/default/grub (看看這個檔案有什麼需要修改的,如果習慣別的編輯器,例如 vi,則將 nano 換成 vi 即可。)

  8. update-grub (這是最重要的更新指令啦!)

  9. grub-install /dev/sda (將 grub 的資料寫入硬碟 MBR 區)

  10. grub-install --recheck /dev/sda (如果上面的步驟有發生錯誤,可以用這個指令在檢查一遍。)

  11. (按 Ctrl-D 離開 chroot 環境,回到原來的 shell。)

  12. sudo umount /mnt/dev (將剛剛掛上的資料夾卸載)

  13. sudo umount /mnt



grub2 有了相當多的改進,對使用者最直接的感受,就是可以用自己設定的圖形介面進行多重開機。

引用及延伸閱讀: