2012年6月10日 星期日

openSUSE 12.2 Beta 1 + Windows 8 RP 雙系統 - grub2 篇

Situation:

Before
sda: [sda1: System Reserve] [sda2: Windows 8] [sda3: Extended] < (sda5: Data 1) (sda6: Windows 8 ISO) (sda7: Data 2) (sda8: openSUSE 12.2 Beta 1) > [sda4: /Home]

上圖是我 S10 灌完 Windows 8 RP + openSUSE 12.2 Beta 1 之後的硬碟狀況,因為 DVD-RW 片讀不到(應該是壞了),只好透過 NTT HDD Installer 用硬碟來灌 Windows 8 RP,如今灌好之後,想說要回收這劃規出來當 Disc 的磁區,如有需要下次重灌(應該等 RTM 了吧!^^)前再重分割就好,當下也沒多想,用 Windows 裡的 Disk Management 砍了 sda6 收工。

結果一會兒後開機時就囧了,grub 居然跟我說:「找不到 partition」,壞去!這次我把 openSUSE 裝在 Extended partition 裡,而非 primary,一直感覺不出不把 system 放在主分割區有什麼差?這下自食惡果,因為刪了 sda6 導致後面磁區的代號變動(sda7→sda6, sda8→sda7),如果是放在 sda4 還不受影響,但不巧的是,openSUSE 被我放在 sda8,結果就讓 grub rescue> 跑出來(這也間接證明 grub.cfg 有用到 sdaX 來做設定)


Solution:

這裡 grub rescue 應該是 grub2 的,現行在 openSUSE 裡談 grub2 的文章並不多,多數是 grub,有談到 grub2 的幾乎都是 Ubuntu,雖然是東拼西湊,總算找到方法進入 openSUSE:

ls
> (hd0), (hd0,msdos1), (hd0,msdos2), ..., (hd0,msdos9)
ls 跟 linux 底下的一樣,可列出資料夾下的明細,我的 S10 硬碟裡有這幾個 parts, 並非所有 msdosY 可以對應到 sdaX, 其間是有未分割區、Linux Swap 的存在,X, Y 不盡然相等,前後查看[ls (hd0,msdosY)]一下內容應該就可以找出 openSUSE 的磁區,我的是 (hd0,msdos9)

set prefix=(hd0,msdos9)/boot/grub2

insmod (hd0,msdos9)/boot/grub2/linux.mod

load 完 linux module 後,字體顏色會從淡灰色變白

set root=(hd0,msdos9)

linux /boot/vmlinuz root=/dev/sda7
(或 linux /boot/vmlinuz-3.4.0-2-default root=/dev/sda7)
因為 vmlinuz 是 symbolic link 指向 vmlinuz-3.4.0-2-default

initrd /boot/initrd
同理 initrd 亦是 symbolic link

boot
之後就會照著正常開機程序進入 openSUSE

本來是想用 Ubuntu 底下常用的 grub-install 來重新安裝,
(# grub-install /dev/sda --no-floppy)
但 openSUSE 底下 grub-install 不允許接參數,而 # grub-install 會直接使用 YaST 裡的 Boot Loader 來運作,以下分成兩種狀況探討:


<Note> su fdisk -l 
可查看磁碟的相關資訊(開機磁區, 磁柱分配, 磁區格式, ...)
  1. Type GRUB2:
    Boot Loader Location - Custom Boot Partition [/dev/sda] 需要手動輸入沒得選
    這樣設定我不確知是否可正常修正 grub2,理論上應該沒問題,但當初因為不知道要選 Custom Boot Partition,我的樣本是先透過 grub 修正再轉成 grub2,這點是有待確認的
  2. Type GRUB:
    Boot Loader Location - Custom Boot Partition [/dev/sda] 可用下拉式選單選取
    確實可修正回 grub, 但 Windows 的分區需用 chainloader 來添加,可供設定的細項比較多
總之,原則上就是透過 grub rescue> 下指令先能進入 openSUSE,然後再用 YaST 的 Boot Loader 做修復


Reference

Grub Rescue
Grub Knowledge
  1. GRUB 2 bootloader - Full tutorial - http://www.dedoimedo.com/computers/grub-2.html
  2. Grub2/Installing - https://help.ubuntu.com/community/Grub2/Installing
    Reinstall Grub2 in Ubuntu
<Note> if "grub.cfg" lost, # grub-update need to be used to recreate "grub.cfg"

2012年5月16日 星期三

贈書

此處我所要提的不是圖書館 or 一些公共場所,不論政令宣導、公益贊助的那一種贈書。

一年前正當語霈姊要離職(上工屆滿)時,我想著要送她什麼東西好。一些裝飾性的小玩意,在書店、禮品店確時都有,但我並想不胡亂膚衍,那麼做並不是我的風格。想要送禮,但又想送到心坎裡,且又不失個人風格,真的是一個非常傷腦筋的問題。

放假回臺北之時,我還特地到北車附近的文具禮品店逛,那是我以前從不去做的事。兜了一個下午其實也看不到一件,我會喜歡且又別具意義的東西,想說不如別送,寧缺勿濫!沒有收獲的我回到新營後,真的是抱著姑且一試的心態,到金石堂去晃晃。沒有意外,那些所謂的禮品,沒有更好,只有更糟!

不怎麼期待的我去書店不單就為了找禮品這一個目的,而是必然應該隱含的答案 ─ 去書店若不去看書豈不本末倒置?當下就翻些新書來看看,就發現前 Google 資訊長所寫的如何善用 Google 服務的整理術,一看就覺得這個讚,語霈姐在網路工具的應用上,就我來看其實是不太足夠的,現在已經進入雲端時代,她應該多了解這些工具,有時候我來說真的欠說服力,還是交給名人來說,比較有說服力。

由此為一個出發點,後來又看了《那啊那啊~神去村》、《雨樹之國》真些好作品,也它們轉贈給語霈姐,也很榮幸的從語霈姐手中收到兩本書 ── 高木直子的《一個人去旅行》一、二年級生,確實相當符合我對語霈姐的形象。

但我真的一直沒有時間去看,誰叫我大學期間所欠的債有一大堆,我必須先將那些資工相關的書籍讀完之後,才能來讀它們。對不起!並不是我不重視它們,因為我這人有這種本末倒置、金屋藏嬌的習慣,雖然說我也覺得這樣不太好就是,但在我變更我的觀念之前,還望妳能理解......

2012年4月11日 星期三

Change

每次有新的改變真的都令我感到疲憊,
也許我是個很古板的人;
但一覺醒來之後,我卻不向改變低頭,
也許昨日是遍體鱗傷,今日還是得傷,
但總不會再向之前那麼痛,
這樣的我也帶著點革新,
右非右,左非左的...

買了座檯燈和一支辦公椅,
椅子相當貼近預期,甚至超乎想像;
但檯燈帶給我的改變,有點難消受,
至少在初次使用。

對於光線我有相當程度的慣性,
加上如何應對筆電的角度真的很令人頭痛,
看人喝咖啡喝的津津有味,
真正等自己去喝的時候,才知其苦澀。

抱怨不能解決一切的問題,
但也是做適應的一種體現,
我打著這篇文章名為抱怨,
卻也是適應的一項實踐。

兄弟們,一盞茶的時間過去,
我真的可以逐漸感受你們所帶來的氛圍,
讓我們一起打拚,
在 Liszt 的「愛之夢」下,
Thanks, ほたる!

P.S. 雨又悄然的下著

2012年4月3日 星期二

亂馬

這還真的是一部頗具歷史的動畫(20 年前),比灌籃高手還久遠,根據 wiki 上的說法,它是高橋留美子的經典大作,小時候是名聞過,但也沒有去深究,大概知道亂馬會男變女,女變男。

或許這真的是經典,但錯過第一時間的我就很難去體會,就像沒受過多啦 A 夢洗禮的我,只能膚淺地發表著畫工粗糙、難以下咽的評論。

對高橋留美子印象,源自於犬夜叉,今日一窺亂馬 OP,終算是發現兩者的關連之處,珊瑚、阿籬、彌勒、犬夜叉,原來都是這樣演進過來的,尤其是冥加爺爺的相似度達到 95% 以上。

所以說如果不能循序漸進的來看時代性的作品,真的很難去了解它的經典之處,不過這也沒辦法,誰叫我小時候對於動畫一點都不開翹 :]

2012年3月31日 星期六

30 分

一直不給自己設限,剛開始似乎是一個很明智的抉擇,但日子一久之後我愈來愈覺得不妥當。因為一切皆可以不帶責任的向後拖延,這並非我預期的結果,我也不想這樣,但它就是硬生生地出現在眼前。

等待,並不會為我帶來太多的不愉快,但這個世界卻不容許我做太多的等待。

30 分,這是我給自己設下的一個壓力指標,為何這麼定,我也沒有任何依據,但我知道不設定我就不會前進,不然上一篇文章就不會是半年前的事。

這樣的時間確實是必要的,我是想表達些什麼,但不透過文字,只想借由腦波目前還太遙遠、且雜亂。我不會想要筆戰,但快速的回應是不可或缺的。

對我而言,這樣的一切都像是嬰兒學步般的難堪,當你已經不是嬰兒之際。

限制與解脫,有時可說是一體兩面的東西,適切的交替能讓一切運作的更加順利。

整理思緒,本來就是一令人頭疼的事,但此刻的我不知為何肚子疼。

估計這個 30 分 project 短時間不會產生太大的效益,但如何從這些片段中組合出有意義的言語,是我必須做的事,因為一個 programmer 不能不會這一件事。

2011年9月13日 星期二

Grab Pro 與 Flash Player 11 RC 衝突之 Solution

J研是一個找 midi 鈴聲的好地方,依我至今的了解,它應該是 ACG midi 鈴聲資料庫最大的網站,不過就是太大,如果沒太多的欲求,我也不太想去那裡被淹沒(沒計畫性的前往,它也是食時的怪物),不過正好最近突然很想聽「ドラマチック」(大振的 OP1)、「インモラリスト」(堀江由衣) 的 midi 效果,就稍微去勘查。

找歌並不難,只不過要帶一點土產回來就遇到重重問題!

Grab Pro 與 Flash Player 11 RC 發生衝突!!

接下來就記錄一下重重難關:
  1. 相較於 Grab Pro 如果要動刀的話,還是找 RC 的 Flash Player 11 比較 OK,畢竟之前的 Flash Player 10.3 我用起來並沒啥問題,RC 或多或少還是有些問題的也不一定,只好先 downgrade 回 10.3,但是它給我一個囧到不行的回答:
    對不起,您已經有更新的版本!

    我的天之前上 11 beta 後,我也曾經 downgrade 回到 10.3 過啊!?
    而且我把電腦裡所有的 Flash Player 相關元件都移除(Active X x86, x64; Plug-in x86, x64),結果它還是跟我說一樣的話,真不知道 RC 到底在哪裡烙了印,把 11 提為正室,到 Registry 去胡亂搜索也找不出相關線索,只好放棄動 Flash Player 11 RC。
  2. 一開始在我還沒開 Grab Pro 出來前,Flash Player 其實也曾經出問題,沒辦法播放,重裝一次之後才 OK,這點就讓我不禁懷疑 Flash Player 11 RC 跟J研其實也不太 match 的想法。
    在這之間我發現 x64 的 Flash Player 在播放上似乎沒有問題,但在 x86(Active X & Plug-in 皆有) 上就會有問題,而所謂的問題就是:J研的 player 的播放鍵 render 不完整,因此當然是不能用的,也無法自動播放。

    其實如果可以的話我倒想把戰場搬到 x64(IE9 x64, Nightly 9.0a1) 上,至少那個部分的 Flash Player 應該不成問題,但我們的 Grab Pro 大哥它只是個 x86 的 IE9 才能用的 Active X,也就是說我一定要在 IE9 x86 上來解決這個問題。
  3. 但轉念一想,Orbit Downloader 提供截取影音的工具並不只有 Grab Pro ── 這一個 Active X 的插件,還有 Grab++ 這個玩意,它就不用完全 base on browser。

    不過事情也沒這麼順利,用 Grab ++ 來監控 IE 的活動後,它確實發現那個關鍵的 object.mp3,連檔案大小也正確的偵測出;但直接下載卻只有 587 Byte 的索引 padding or error message 之類的東西吧!?檔案大小完全對不起來...

    依我的猜測,這應該就是J研用來防堵被下載工具直接載到它的原始檔案的方式,如果只是單純詢問其檔案大小,server 會確實告訴你它確實的大小(maybe 是方便 debug 的設計),假如你真正要下載時,它會去判斷說是否為J研專用的 player,如果是的話,它才會允許下載。
  4. 繞了一大圈後,終究要回到該面對的戰場 ── IE9 x86 + Grab Pro
    其實當 Grab++ 失敗後,我基本上已經不抱多大的希望了,早已做好撤退的準備,去找一臺還停留在 Flash Player 10.3 的電腦去測試 or 乾脆等 11 的正式版發行在去試了。不過身為一個理工人(? 是劍士吧?),要輸也不能把背後面對敵人!

    重新檢視過這個 Grab Pro Active X 後,我發現除了它本身外,每次啟用時,必然會詢問使用者要不一併啟用 Octh Class 的物件,這傢伙做啥用我一點也不知,之前都是你都這樣問了那就啟動來用,maybe 是什麼相關的 library,既然現在都用不了,把你關掉會如何?那就來試試。

    只開 Grab Pro 而不用 Octh Class 的情形,就是上頭的 Grab Pro toolbar 存在,但 Flash Player 11 RC render 不完全,這個就有意思!
    反過來只開 Octh Class 而不開 Grab Pro,Flash Player 11 RC 居然可以運作,這個正點!


    因此我根據這個狀況做一個假設,Grab Pro 是前端的圖形界面,而 Octh Class 則是負責流量監控、分析;而 Grab Pro 會與 Flash Player 11 RC 衝突,而 Octh Class 卻不會。所以說其實我們是有能力收集到 object.mp3,但問題是要如何把它取出來
  5. 再來就是我的實驗:首先只開啟 Octh Class,讓它在J研 Player 成功播放的情況下做檔案搜集(也不必然都一定都 OK,不行時要多試幾次 F5 or Ctrl + F5),之後開啟 Grab Pro,如果它的可下載 queue 裡有 object.mp3 那表示你成功了!
    如果失敗的話,請關閉 Grab Pro 只留下 Octh Class 重 load 頁面,如果怎麼 load 都無法讓 Flash Player 正常運作請開新頁籤,甚至重開 IE,多試幾次應該會成功,我自己試出來的結果都是開啟 Grab Pro 的第一次都不成功,一定要重新做過第二次才會出現 object.mp3,一但出來後下載的檔案就沒問題,因為它是提取J研 player 所吃的東西。
  6. 附註一點,跑上面流程前,最好先啟動 Grab++,我記得成功的情形下,Grab++ 我都有開啟,在 Grab++ 未開啟的情形下,好像沒成功過,或許是 Grab++ 與 Octh Class 有一定程度的連動性。
總而言之,這是一個半調子的 solution,因為我沒有要大量搜集這些 midi,所以還可以這樣撐著,如果有大量需求的人,還是找著穩定的系統(x86 OS + x86 Browser + Flash Player 10.3 + Grab Pro)
其實我也應該去找一下要如何 downgrade 回 10.3,but 因為我太懶了,所以不想再試了!想說 RC 都出來了,正式版應該也等不了多久,所以‧‧‧

期待 Flash Player 11 or 新版 Grab Pro 能讓這個問題消弭於無形 :P