2010/07/31

冏到的重灌經驗

心血來潮地重新安裝電腦作業系統
原本的計畫是:先裝 Windows 7,再裝 Windows Server 2008,最後安裝 openSUSE 11.3
如此一來 boot manager將會是 openSUSE的grub
其選單會有 openSUSE、Failsafe和 Windows三項
選擇 Windows就可切換到 windows boot manager, 挑選 Windows 7或 Windows Server 2008進行開機

將要安裝 Windows Server 2008時,在微軟網站上看到 Hyper-V Server 2008 R2
一時不察,想著 R2比較新,裝這個好了...下載後進行安裝
想不到 Hyper-V Server 2008 R2是類似 Server Core的方式,以指令列管理...冏!
心想,先放著吧,再想辦法解決....繼續安裝 openSUSE 11.3

隔天,再拿到 Windows Server 2008 R2準備安裝
錯就錯在這個地方了
我只掛念著,要安裝在先前 Hyper-V Server 2008 R2所在的分割區,不要動到其他分割
卻忘了 windows boot manager會直接安裝在 mbr
結果就是...開機之後直接進入 Windows Server 2008 R2

仔細思考後開始動手!
一、應該要先把 Windows 7的選單加入到 windows boot manager中
在 version 6之後,windows boot manager都放在名為"系統保留"的 system partition,
而且要以 bcdedit進行編輯,無法像先前版本的 boot.ini可以用文字編輯器處理
若直接從 grub著手,它還是只會認得 Windows Server 2008 R2

要編輯 windows boot manager,得利用 bcdedit
bcdedit /v 先確認有無相關的 identifier,若有即可直接編輯,可是因為我是後來"再"裝上 Windows Server 2008 R2,似乎它將先前的記錄全部清掉了
這時只好請出原版光碟進行修復

不必做什麼動作,在自動檢查後,就會提示已經修復完畢,要求重開機,開機時就看到二個選單了!!

二、安裝 grub
放入 openSUSE的光碟並重新啟動後,選擇 resecure system

原本以為直接 grub-install /dev/sda6就可以收工了
但卻一直出現 does not have any corresponding BIOS drive的錯誤訊息
網路上是說 device map的錯,要下達 grun-install --recheck /dev/sda6

搞定後,再編輯 /boot/grub/menu.lst
把 grub抓到的三個 Windows 處理一下
三個?一個是系統分割,一個是 Windows 7,另一個是 Windows Server 2008 R2
後二者只是 boot partition,無法開機

總之,終於收工了!

2010/07/02

Linux上的即時通訊軟體

裝好ubuntu 10.04
內建的IM是 empathy
感覺上和pidgin是類似的,可同時支援多個protocol,甚至有QQ和SKYPE

另外也用了 emesene (有免安裝版本)
是比較類似 amsn,只支援MSN,介面比較好看一點點

不過這二個都沒法顯示 M群訊息中的聯絡人名稱
造成在聊天時都不知道是誰在說話
從GOOGLE找到解決方法,改一下原始碼就好了
empathy的方法:
修改 /usr/share/pyshared/papyon/conversation.py
大概在353行左右,找到
if message_type == 'text/plain':
msg = ConversationMessage(unicode(message.body, message_encoding),
TextFormat.parse(message_formatting),
self.__last_received_msn_objects)
try:
display_name = message.get_header('P4-Context')


在 if之後 msg= 那一段改成
msg = ConversationMessage(unicode(”["+message.get_header('P4-Context')+"]“+message.body, message_encoding),
TextFormat.parse(message_formatting),
self.__last_received_msn_objects)
except KeyError:
msg = ConversationMessage(unicode(message.body, message_encoding),
TextFormat.parse(message_formatting),
self.__last_received_msn_objects)


改完存檔,重新啟動 empathy應該就OK了
原本的

改過的


emesene的修改方法
修改 /usr/share/emesene/emesenelib/Switchboard.py
大約在 281行,有 X-MMS-IM-Format的那段,在charset = '' 這行後面
加上


if 'P4-Context' in header:
nick = nick + header['P4-Context']
body = header['P4-Context'] + ": " + body


修改過變成這樣

改完存檔,重新啟動 emesene 就OK了
 
_ _