http://www.khankennels.com/blog/index.php/archives/2007/04/20/getting-joins/
2012年11月18日 星期日
A Visual Explanation of SQL Joins
title from : http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html
2012年9月1日 星期六
TWubuntu live系列發佈
http://kawsing.blogspot.tw/2011/03/twubuntu-live.html
TWubuntu live系列發佈
由於縣市合併的事情,使得手邊關於linux系統的工作不斷延遲,不過並沒有中斷,還是利用了些時間收攏之前的研究成果
另外,此次也辦了TWubuntu_miniserver的基本伺服器架設研習,也寫了一份文件,有興趣的朋友可以參考看看
虛擬主機系統入門與應用
2012年8月22日 星期三
SQLlite
- Aug 24 Fri 2007 23:19
轉貼:SQLite使用教學
OS X自從10.4後把SQLite這套相當出名的資料庫軟體,放進了作業系統工具集裡。OS X包裝的是第三版的SQLite,又稱SQLite3。這套軟體有幾個特色:
* 軟體屬於公共財(public domain),SQLite可說是某種「美德軟體」(virtueware),作者本人放棄著作權,而給使用SQLite的人以下的「祝福」(blessing):
o May you do good and not evil. 願你行善莫行惡
o May you find forgiveness for yourself and forgive others. 願你原諒自己寬恕他人
o May you share freely, never taking more than you give. 願你寬心與人分享,所取不多於你所施予
* 支援大多數的SQL指令(下面會簡單介紹)。
* 一個檔案就是一個資料庫。不需要安裝資料庫伺服器軟體。
* 完整的Unicode支援(因此沒有跨語系的問題)。
* 速度很快。
目前在OS X 10.4裡,SQLite是以/usr/bin/sqlite3的形式包裝,也就說這是一個命令列工具,必須先從終端機(Terminal.app或其他程式)進入shell之後才能使用。網路上有一些協助使用SQLite的視覺化工具,但似乎都沒有像CocoaMySQL(配合MySQL資料庫使用)那般好用。或許隨時有驚喜也未可知,以下僅介紹命令列的操作方式。
SQLite顧名思議是以SQL為基礎的資料庫軟體,SQL是一套強大的資料庫語言,主要概念是由「資料庫」、「資料表」(table)、「查詢指令」(queries)等單元組成的「關聯性資料庫」(進一步的概念可參考網路上各種關於SQL及關聯性資料庫的文件)。因為 SQL的查詢功能強大,語法一致而入門容易,因此成為現今主流資料庫的標準語言(微軟、Oracle等大廠的資料庫軟體都提供SQL語法的查詢及操作)。
以下我們就建立資料庫、建立資料表及索引、新增資料、查詢資料、更改資料、移除資料、sqlite3命令列選項等幾個項目做簡單的介紹。
目錄
[隱藏]
* 1 建立資料庫檔案
* 2 在sqlite3提示列下操作
* 3 SQL的指令格式
* 4 建立資料表
* 5 建立索引
* 6 加入一筆資料
* 7 查詢資料
* 8 如何更改或刪除資料
* 9 其他sqlite的特別用法
* 10 小結
[編輯]
建立資料庫檔案
用sqlite3建立資料庫的方法很簡單,只要在shell下鍵入(以下$符號為shell提示號,請勿鍵入):
$ sqlite3 foo.db3
如果目錄下沒有foo.db3,sqlite3就會建立這個資料庫。sqlite3並沒有強制資料庫檔名要怎麼取,因此如果你喜歡,也可以取個例如foo.icannameitwhateverilike的檔名。
[編輯]
在sqlite3提示列下操作
kl;kjlkjljklkjkj 進入了sqlite3之後,會看到以下文字:
SQLite version 3.1.3
Enter ".help" for instructions
sqlite>
這時如果使用.help可 以取得求助,.quit則是離開(請注意:不是quit)
[編輯]
SQL的指令格式
所有的SQL指令都是以分號(;)結尾的。如果遇到兩個減號(--)則代表註解,sqlite3會略過去。
[編輯]
建立資料表
假設我們要建一個名叫film的資料表,只要鍵入以下指令就可以了:
create table film(title, length, year, starring);
這樣我們就建立了一個名叫film的資料表,裡面有name、length、year、starring四個欄位。
這個create table指令的語法為:
create table table_name(field1, field2, field3, ...);
table_name是資料表的名稱,fieldx則是欄位的名字。sqlite3與許多SQL資料庫軟體不同的是,它不在乎欄位屬於哪一種資料型態:sqlite3的欄位可以儲存任何東西:文字、數字、大量文字(blob),它會在適時自動轉換。
[編輯]
建立索引
如果資料表有相當多的資料,我們便會建立索引來加快速度。好比說:
create index film_title_index on film(title);
意思是針對film資料表的title欄位,建立一個名叫film_title_index的索引。這個指令的語法為
create index index_name on table_name(field_to_be_indexed);
一旦建立了索引,sqlite3會在針對該欄位作查詢時,自動使用該索引。這一切的操作都是在幕後自動發生的,無須使用者特別指令。
[編輯]
加入一筆資料
接下來我們要加入資料了,加入的方法為使用insert into指令,語法為:
insert into table_name values(data1, data2, data3, ...);
例如我們可以加入
insert into film values ('Silence of the Lambs, The', 118, 1991, 'Jodie Foster');
insert into film values ('Contact', 153, 1997, 'Jodie Foster');
insert into film values ('Crouching Tiger, Hidden Dragon', 120, 2000, 'Yun-Fat Chow');
insert into film values ('Hours, The', 114, 2002, 'Nicole Kidman');
如果該欄位沒有資料,我們可以填NULL。
[編輯]
查詢資料
講到這裡,我們終於要開始介紹SQL最強大的select指令了。我們首先簡單介紹select的基本句型:
select columns from table_name where expression;
最常見的用法,當然是倒出所有資料庫的內容:
select * from film;
如果資料太多了,我們或許會想限制筆數:
select * from film limit 10;
或是年份比較早的電影先列出來(預設為 asc):
select * from film order by year limit 10;
或是年份比較晚的電影先列出來:
select * from film order by year desc limit 10;
或是我們只想看電影名稱跟年份:
select title, year from film order by year desc limit 10;
查所有茱蒂佛斯特演過的電影:
select * from film where starring='Jodie Foster';
查所有演員名字開頭叫茱蒂的電影('%'、'_' 符號便是 SQL 的萬用字元,前者代表任意長度字元,後者代表任意一個字元):
select * from film where starring like 'Jodie%';
查所有演員名字以茱蒂開頭、年份晚於1985年、年份晚的優先列出、最多十筆,只列出電影名稱和年份:
select title, year from film where starring like 'Jodie%' and year >= 1985 order by year desc limit 10;
有時候我們只想知道資料庫一共有多少筆資料:
select count(*) from film;
有時候我們只想知道1985年以後的電影有幾部:
select count(*) from film where year >= 1985;
(進一步的各種組合,要去看SQL專書,不過你大概已經知道SQL為什麼這麼流行了:這種語言允許你將各種查詢條件組合在一起──而我們還沒提到「跨資料庫的聯合查詢」呢!)
[編輯]
如何更改或刪除資料
瞭解select的用法非常重要,因為要在sqlite更改或刪除一筆資料,也是靠同樣的語法。
例如有一筆資料的名字打錯了:
update film set starring='Jodie Foster' where starring='Jodee Foster';
就會把主角欄位裡,被打成'Jodee Foster'的那筆(或多筆)資料,改回成Jodie Foster。
delete from film where year > 1970;
就會刪除所有年代早於1970年(不含)的電影了。
[編輯]
其他sqlite的特別用法
sqlite可以在shell底下直接執行命令:
sqlite3 film.db "select * from film;"
輸出 HTML 表格:
sqlite3 -html film.db "select * from film;"
將資料庫「倒出來」:
sqlite3 film.db ".dump" > output.sql
利用輸出的資料,建立一個一模一樣的資料庫(加上以上指令,就是標準的SQL資料庫備份了):
sqlite3 film.db < output.sql
在大量插入資料時,你可能會需要先打這個指令:
begin;
插入完資料後要記得打這個指令,資料才會寫進資料庫中:
commit;
[編輯]
小結
以上我們介紹了SQLite這套資料庫系統的用法。事實上OS X也有諸於SQLiteManagerX這類的圖形介面程式,可以便利資料庫的操作。不過萬變不離其宗,瞭解SQL指令操作,SQLite與其各家變種就很容易上手了。
至於為什麼要寫這篇教學呢?除了因為OS X Tiger大量使用SQLite之外(例如:Safari的RSS reader,就是把文章存在SQLite資料庫裡!你可以開開看~/Library/Syndication/Database3這個檔案,看看裡面有什麼料),OpenVanilla從0.7.2開始,也引進了以SQLite為基礎的詞彙管理工具,以及全字庫的注音輸入法。因為使用SQLite,這兩個模組不管資料庫內有多少筆資料,都可以做到「瞬間啟動」以及相當快速的查詢回應。
將一套方便好用的資料庫軟體包進OS X中,當然也算是Apple相當相當聰明的選擇。再勤勞一點的朋友也許已經開始想拿SQLite來記錄各種東西(像我們其中就有一人寫了個程式,自動記錄電池狀態,寫進SQLite資料庫中再做統計......)了。想像空間可說相當寬廣。
目前支援SQLite的程式語言,你能想到的大概都有了。這套資料庫2005年還贏得了美國O'Reilly Open Source Conference的最佳開放原始碼軟體獎,獎評是「有什麼東西能讓Perl, Python, PHP, Ruby語言團結一致地支援的?就是SQLite」。由此可見SQLite的地位了。而SQLite程式非常小,更是少數打 "gcc -o sqlite3 *",不需任何特殊設定就能跨平臺編譯的程式。小而省,小而美,SQLite連網站都不多贅言,直指SQL語法精要及API使用方法,原作者大概也可以算是某種程式設計之道(Tao of Programming)裡所說的至人了。
Enjoy /usr/bin/sqlite3 in your OS X Tiger. :)
* 軟體屬於公共財(public domain),SQLite可說是某種「美德軟體」(virtueware),作者本人放棄著作權,而給使用SQLite的人以下的「祝福」(blessing):
o May you do good and not evil. 願你行善莫行惡
o May you find forgiveness for yourself and forgive others. 願你原諒自己寬恕他人
o May you share freely, never taking more than you give. 願你寬心與人分享,所取不多於你所施予
* 支援大多數的SQL指令(下面會簡單介紹)。
* 一個檔案就是一個資料庫。不需要安裝資料庫伺服器軟體。
* 完整的Unicode支援(因此沒有跨語系的問題)。
* 速度很快。
目前在OS X 10.4裡,SQLite是以/usr/bin/sqlite3的形式包裝,也就說這是一個命令列工具,必須先從終端機(Terminal.app或其他程式)進入shell之後才能使用。網路上有一些協助使用SQLite的視覺化工具,但似乎都沒有像CocoaMySQL(配合MySQL資料庫使用)那般好用。或許隨時有驚喜也未可知,以下僅介紹命令列的操作方式。
SQLite顧名思議是以SQL為基礎的資料庫軟體,SQL是一套強大的資料庫語言,主要概念是由「資料庫」、「資料表」(table)、「查詢指令」(queries)等單元組成的「關聯性資料庫」(進一步的概念可參考網路上各種關於SQL及關聯性資料庫的文件)。因為 SQL的查詢功能強大,語法一致而入門容易,因此成為現今主流資料庫的標準語言(微軟、Oracle等大廠的資料庫軟體都提供SQL語法的查詢及操作)。
以下我們就建立資料庫、建立資料表及索引、新增資料、查詢資料、更改資料、移除資料、sqlite3命令列選項等幾個項目做簡單的介紹。
目錄
[隱藏]
* 1 建立資料庫檔案
* 2 在sqlite3提示列下操作
* 3 SQL的指令格式
* 4 建立資料表
* 5 建立索引
* 6 加入一筆資料
* 7 查詢資料
* 8 如何更改或刪除資料
* 9 其他sqlite的特別用法
* 10 小結
[編輯]
建立資料庫檔案
用sqlite3建立資料庫的方法很簡單,只要在shell下鍵入(以下$符號為shell提示號,請勿鍵入):
$ sqlite3 foo.db3
如果目錄下沒有foo.db3,sqlite3就會建立這個資料庫。sqlite3並沒有強制資料庫檔名要怎麼取,因此如果你喜歡,也可以取個例如foo.icannameitwhateverilike的檔名。
[編輯]
在sqlite3提示列下操作
kl;kjlkjljklkjkj 進入了sqlite3之後,會看到以下文字:
SQLite version 3.1.3
Enter ".help" for instructions
sqlite>
這時如果使用.help可 以取得求助,.quit則是離開(請注意:不是quit)
[編輯]
SQL的指令格式
所有的SQL指令都是以分號(;)結尾的。如果遇到兩個減號(--)則代表註解,sqlite3會略過去。
[編輯]
建立資料表
假設我們要建一個名叫film的資料表,只要鍵入以下指令就可以了:
create table film(title, length, year, starring);
這樣我們就建立了一個名叫film的資料表,裡面有name、length、year、starring四個欄位。
這個create table指令的語法為:
create table table_name(field1, field2, field3, ...);
table_name是資料表的名稱,fieldx則是欄位的名字。sqlite3與許多SQL資料庫軟體不同的是,它不在乎欄位屬於哪一種資料型態:sqlite3的欄位可以儲存任何東西:文字、數字、大量文字(blob),它會在適時自動轉換。
[編輯]
建立索引
如果資料表有相當多的資料,我們便會建立索引來加快速度。好比說:
create index film_title_index on film(title);
意思是針對film資料表的title欄位,建立一個名叫film_title_index的索引。這個指令的語法為
create index index_name on table_name(field_to_be_indexed);
一旦建立了索引,sqlite3會在針對該欄位作查詢時,自動使用該索引。這一切的操作都是在幕後自動發生的,無須使用者特別指令。
[編輯]
加入一筆資料
接下來我們要加入資料了,加入的方法為使用insert into指令,語法為:
insert into table_name values(data1, data2, data3, ...);
例如我們可以加入
insert into film values ('Silence of the Lambs, The', 118, 1991, 'Jodie Foster');
insert into film values ('Contact', 153, 1997, 'Jodie Foster');
insert into film values ('Crouching Tiger, Hidden Dragon', 120, 2000, 'Yun-Fat Chow');
insert into film values ('Hours, The', 114, 2002, 'Nicole Kidman');
如果該欄位沒有資料,我們可以填NULL。
[編輯]
查詢資料
講到這裡,我們終於要開始介紹SQL最強大的select指令了。我們首先簡單介紹select的基本句型:
select columns from table_name where expression;
最常見的用法,當然是倒出所有資料庫的內容:
select * from film;
如果資料太多了,我們或許會想限制筆數:
select * from film limit 10;
或是年份比較早的電影先列出來(預設為 asc):
select * from film order by year limit 10;
或是年份比較晚的電影先列出來:
select * from film order by year desc limit 10;
或是我們只想看電影名稱跟年份:
select title, year from film order by year desc limit 10;
查所有茱蒂佛斯特演過的電影:
select * from film where starring='Jodie Foster';
查所有演員名字開頭叫茱蒂的電影('%'、'_' 符號便是 SQL 的萬用字元,前者代表任意長度字元,後者代表任意一個字元):
select * from film where starring like 'Jodie%';
查所有演員名字以茱蒂開頭、年份晚於1985年、年份晚的優先列出、最多十筆,只列出電影名稱和年份:
select title, year from film where starring like 'Jodie%' and year >= 1985 order by year desc limit 10;
有時候我們只想知道資料庫一共有多少筆資料:
select count(*) from film;
有時候我們只想知道1985年以後的電影有幾部:
select count(*) from film where year >= 1985;
(進一步的各種組合,要去看SQL專書,不過你大概已經知道SQL為什麼這麼流行了:這種語言允許你將各種查詢條件組合在一起──而我們還沒提到「跨資料庫的聯合查詢」呢!)
[編輯]
如何更改或刪除資料
瞭解select的用法非常重要,因為要在sqlite更改或刪除一筆資料,也是靠同樣的語法。
例如有一筆資料的名字打錯了:
update film set starring='Jodie Foster' where starring='Jodee Foster';
就會把主角欄位裡,被打成'Jodee Foster'的那筆(或多筆)資料,改回成Jodie Foster。
delete from film where year > 1970;
就會刪除所有年代早於1970年(不含)的電影了。
[編輯]
其他sqlite的特別用法
sqlite可以在shell底下直接執行命令:
sqlite3 film.db "select * from film;"
輸出 HTML 表格:
sqlite3 -html film.db "select * from film;"
將資料庫「倒出來」:
sqlite3 film.db ".dump" > output.sql
利用輸出的資料,建立一個一模一樣的資料庫(加上以上指令,就是標準的SQL資料庫備份了):
sqlite3 film.db < output.sql
在大量插入資料時,你可能會需要先打這個指令:
begin;
插入完資料後要記得打這個指令,資料才會寫進資料庫中:
commit;
[編輯]
小結
以上我們介紹了SQLite這套資料庫系統的用法。事實上OS X也有諸於SQLiteManagerX這類的圖形介面程式,可以便利資料庫的操作。不過萬變不離其宗,瞭解SQL指令操作,SQLite與其各家變種就很容易上手了。
至於為什麼要寫這篇教學呢?除了因為OS X Tiger大量使用SQLite之外(例如:Safari的RSS reader,就是把文章存在SQLite資料庫裡!你可以開開看~/Library/Syndication/Database3這個檔案,看看裡面有什麼料),OpenVanilla從0.7.2開始,也引進了以SQLite為基礎的詞彙管理工具,以及全字庫的注音輸入法。因為使用SQLite,這兩個模組不管資料庫內有多少筆資料,都可以做到「瞬間啟動」以及相當快速的查詢回應。
將一套方便好用的資料庫軟體包進OS X中,當然也算是Apple相當相當聰明的選擇。再勤勞一點的朋友也許已經開始想拿SQLite來記錄各種東西(像我們其中就有一人寫了個程式,自動記錄電池狀態,寫進SQLite資料庫中再做統計......)了。想像空間可說相當寬廣。
目前支援SQLite的程式語言,你能想到的大概都有了。這套資料庫2005年還贏得了美國O'Reilly Open Source Conference的最佳開放原始碼軟體獎,獎評是「有什麼東西能讓Perl, Python, PHP, Ruby語言團結一致地支援的?就是SQLite」。由此可見SQLite的地位了。而SQLite程式非常小,更是少數打 "gcc -o sqlite3 *",不需任何特殊設定就能跨平臺編譯的程式。小而省,小而美,SQLite連網站都不多贅言,直指SQL語法精要及API使用方法,原作者大概也可以算是某種程式設計之道(Tao of Programming)裡所說的至人了。
Enjoy /usr/bin/sqlite3 in your OS X Tiger. :)
http://openvanilla.org/wiki/zh/index.php?title=SQLite%E4%BD%BF%E7%94%A8%E6%95%99%E5%AD%B8
2012年7月14日 星期六
2012年7月2日 星期一
使用EasyRecovery Pro拯救變RAW格式的硬碟資料
想了想..
把那天救硬碟的情況PO上來好了..
也許大家會有用 到..
突然間..外接硬碟接上NB後..無法顯示
但控制台→系統管理工具→電腦管理裡
看到的是還沒配置的硬碟
整 個快昏倒..
後來用了這支 EasyRecovery Professiona
有把所有檔案救回來了..
但 我發現有兩種常見的情況
一種是在接上外接硬碟時,點取它時會出現" 尚未格式化磁碟"
點 此顆硬碟按右鍵,選擇"內容"後 會出現
而我遇到的情況是另一種,在"我的電腦"裡, 沒出現新增磁碟,但在"控制台"→"系統管理工具"→"電 腦管理"裡,卻出現"初 始化及轉換磁碟精靈"
接著可在視窗內發現"未配置"磁碟
還原步驟為:
01.先開啟EasyRecovery Professional, 接著點選"數據恢復"裡頭"高級恢復",此示範 的程式為簡體版。
把那天救硬碟的情況PO上來好了..
也許大家會有用 到..
突然間..外接硬碟接上NB後..無法顯示
但控制台→系統管理工具→電腦管理裡
看到的是還沒配置的硬碟
整 個快昏倒..
後來用了這支 EasyRecovery Professiona
有把所有檔案救回來了..
但 我發現有兩種常見的情況
一種是在接上外接硬碟時,點取它時會出現" 尚未格式化磁碟"
點 此顆硬碟按右鍵,選擇"內容"後 會出現
而我遇到的情況是另一種,在"我的電腦"裡, 沒出現新增磁碟,但在"控制台"→"系統管理工具"→"電 腦管理"裡,卻出現"初 始化及轉換磁碟精靈"
接著可在視窗內發現"未配置"磁碟
還原步驟為:
01.先開啟EasyRecovery Professional, 接著點選"數據恢復"裡頭"高級恢復",此示範 的程式為簡體版。
02.接著會出現下面的提示訊息,請直接按確定即可。
04.選擇磁碟原本的系統,如以下圖示
05.我是選擇" 高級掃描",不過相對的時間會花比較久
06.接著出現以下提示窗,直接按"確定"即可
07.然後就出現"正在掃描文件"
08.掃描完後,出現以下視窗表示有找到先前的數據,請勾選要恢復的數據即可。 有時會出現檔名或資料夾名稱為流水號,那表示第4或5的步驟出錯。請確認原磁碟格 式後再做一次即可。
09.接著選擇把要恢復的數據存路徑,再按"下一步",即可完成。
09.接著選擇把要恢復的數據存路徑,再按"下一步",即可完成。
外接硬碟格 式,一都最好是使用FAT32的格式,但若使用FAT32的格式,無法存放單一個超過4G的檔案,因為NTFS的檔案,檔案本身屬性帶有安全性識別碼,在 A電腦建立的檔案,到了B電腦,有可能會變成無法讀取,需重新取得所有權,才能做控制。
救回磁碟分割的 testdisk-6.10
話說 NT 的時代,想要建立磁碟陣列 RAID,並不需要多費什麼功夫,而且是可逆相容性的。
但是從 Windows 2000 開始,原本的磁碟分割方式稱為「基本磁碟」,也就是最多四個 Primary Partition(主要磁碟分割),最多一個 Extention Partition(延伸磁碟分割),再多的磁碟編號都屬於 Logical(邏輯磁碟機)。
現在磁碟管理中多了一個新名辭:「動態磁碟」,當然以管理而言是簡化了一些,免除了一些初學者一直不敢自訂磁碟分割所導致的諸多限制。以現今的磁碟容量愈來愈成長的趨勢而言,這或許是必需的;但反過來說極多數的使用者很少將硬碟分割到四個分割區以上的,或許是硬碟讀寫技術的改進也說不定必須如此做吧?
但從此之後,想要建立不同的 RAID 都必須先轉換成動態磁碟才能進行。
而這個動態磁碟還有一些很嚴重的潛伏危機,其一是 FAT 32 分割區亦不能由 DOS 開機讀取,另一更嚴重的就是萬一那天不小心將動態磁碟轉換為基本磁碟,則其中的資料及分割將消失殊盡!
這個苦頭吃了不只一次,而這種轉換後的挽救也不是 SPFDISK 所能救得了的。
這一次總算找到了 testdisk-6.10,雖然辛苦些,但總比全數報銷,真是太慶辛了!
網路上很多篇關於這套軟體的教學說明,也不知那位才是原始創作者,大家抄來抄去都沒見到那篇註明「轉載」自何處的。不過也還好有這麼多人轉載,才能很輕易的搜尋網站中任意取得完整教學。
這一段就偷懶些,抄一段別人寫好的:
軟體:TestDisk(軟體點此下載)
官網:http://www.cgsecurity.org/wiki/Main_Page
語言:英文
性質:免費軟體
適用系統:DOS (either real or in a Windows 9x DOS-box), Windows (NT4, 2000, XP, 2003), Linux, FreeBSD, NetBSD, OpenBSD, SunOS and MacOS 適用問題:誤刪了磁碟分區、因安裝作業系統、感染病毒而不慎毀損或遺失硬碟分區表...這軟體比起其他的救援軟體有一個大優勢,就是只要硬碟資料能夠救援,大部分類型的檔案就可以救回了,其他軟體則是只能救回一些較普遍的文書資料檔或是影圖而已,所以這也是推薦TestDisk的原因之一。
使用方法:下載完軟體後,執行在win資料夾內的 testdisk_win.exe
一般人的問題都小科了,看清楚了,這裡有五顆硬碟。原本那兩顆 82G 的是動態磁碟,做成 RAID-1 互相鏡射備份的。最怕的當然就是弄錯磁碟了!先進行分析 Analyse現在找到的幾個分割區,但並不是完整的。不是使用 Vista 就回答 N,看來這 Vista 真是找麻煩!重新再讓它去尋找這次找到的也不完整,問題在那?注意到沒?最前面有一大段 Trace 0~622 不見了!官網:http://www.cgsecurity.org/wiki/Main_Page
語言:英文
性質:免費軟體
適用系統:DOS (either real or in a Windows 9x DOS-box), Windows (NT4, 2000, XP, 2003), Linux, FreeBSD, NetBSD, OpenBSD, SunOS and MacOS 適用問題:誤刪了磁碟分區、因安裝作業系統、感染病毒而不慎毀損或遺失硬碟分區表...這軟體比起其他的救援軟體有一個大優勢,就是只要硬碟資料能夠救援,大部分類型的檔案就可以救回了,其他軟體則是只能救回一些較普遍的文書資料檔或是影圖而已,所以這也是推薦TestDisk的原因之一。
使用方法:下載完軟體後,執行在win資料夾內的 testdisk_win.exe
而且誤判第二個 Partition 為 Primary Bootable。能直接救回的只有兩個分割區?試著改變不同的分割區方式,研究很久,以左、右鍵變化每個分割區前的「*、P、L、D」狀態;如果 testdisk 覺得這樣的結構異常,它無法直接救回,所有的分割區都會呈現白字,而且下排出現紅字警告:Structure Bad. 當然就進行不下去了!試著改變不同的組合,反正能救回的分割區就是出現綠字。不過還有個最前面的分割區不見了,因此選「A」,自行增加分割區。自行加入的一段分割區位置。不過還是沒看到!只好繼續,這次再選擇 Deeper Search終於出現了這顆硬碟中完整的 7 個分割區。
其中前三個,是當初還未轉換成動態磁碟時的主要分割區,後四個是建立在延伸磁碟分割中的邏輯磁磁碟機。
但是這一案例很棘手,無法一次救回這 7 個分割區,因此共做了三次。第一次僅救回前三個分割區。第二次再救回原來在邏輯分割中的兩個,很奇怪的是並不能一次救回四個或連續兩個。第三次再救回兩個,雖然有些麻煩,但總算耗費了一番工夫後,可以找回原來的全部檔案。每次找回部份分割區後,都要寫回,然後重新開機,再進行檔案備份。這只是「破壞性」寫入的再次確認罷了!其中的第一個分割區,自行宣告為 Primary Bootable,但經由系統檢查 Boot Sector 已遭損毀,因此選擇 Rebuild BS,其實也無關緊要,因為重要的是其中的檔案,當然是先備份到其他地方,能不能開機都無所謂了!
2012年2月9日 星期四
在google sites 加入pdf
加入小工具(Google Docs Viewer)
http://mori79.googlecode.com/svn/trunk/google-docs-viewer.xml
http://mori79.googlecode.com/svn/trunk/google-docs-viewer.xml
2012年1月31日 星期二
將你的Ubuntu打造成MAC OS的樣子
資料來源:http://it-easy.tw/ubuntu-macbuntu/
Ubuntu預設的桌面系統是Gnome,Gnome官方提供了許多佈景主題給使用者使用,Macbuntu便是其中一款。Macbuntu能讓Ubuntu的Gnome桌面環境看起來就跟MAC差不多,聽說相似度連真正的MAC使用者都分辨不太出來。如果你想讓你的Gnome介面更不一樣,可以試著安裝看看這款能讓Gnome仿MAC的Macbuntu喔!
Ubuntu預設的桌面系統是Gnome,Gnome官方提供了許多佈景主題給使用者使用,Macbuntu便是其中一款。Macbuntu能讓Ubuntu的Gnome桌面環境看起來就跟MAC差不多,聽說相似度連真正的MAC使用者都分辨不太出來。如果你想讓你的Gnome介面更不一樣,可以試著安裝看看這款能讓Gnome仿MAC的Macbuntu喔!
步驟一 首先利用上面的連結連到Gnome官方的Macbuntu下載頁面,將適合自己Ubuntu版本的Macbuntu下載回來,然後解壓縮。
步驟二 以「終端機」執行「install.sh」,即可開始進行安裝程序。
步驟三 出現「Do you want to continue?」(你想要繼續嗎?),輸入「y」,按「Enter」鍵繼續。
步驟四 安裝權限需要sudo權限,所以要輸入密碼。
步驟五 「Which font you want to install, otherwise a default one will be selected?」(你想安裝哪種字形?不設定的話就直接套用預設值。),輸入「3」,有Chinese(中文)。按「Enter」鍵繼續。
步驟六 「Which distributor logo you want to install, otherwise a default one will be selected?」(你想要安裝哪種LOGO?不設定的話就直接套用預設值。),按「Enter」鍵以預設值繼續。
步驟七 「Do you want to enable wobbly windows?」(你想要開啟搖擺視窗功能嗎?),搖擺視窗是一種Gnome的特效,能讓視窗像果凍一樣軟軟的,顯示卡以及顯示卡驅動需支援Gnome特效,才能正常啟用。輸入「y」,按「Enter」鍵繼續。
步驟八 「Enable left bottom corner to show desktop?」(要啟用左下角顯示桌面嗎?),我不太清楚這項設定的實質效果,輸入「y」,按「Enter」鍵繼續。
步驟九 「Enable right bottom corner to show all windows?」(要啟用右下角顯示所有視窗嗎?),我不太清楚這項設定的實質效果,輸入「y」,按「Enter」鍵繼續。
步驟十 開始下載套件進行安裝。
步驟十一 安裝後會發現你的Ubuntu畫面變得很奇怪,別擔心,待會兒完成設定就正常了。現在它叫你選擇要使用的模組,直接按「Enter」鍵以預設值繼續。
步驟十二 接著它會問你是否要安裝其它軟體的仿MAC風格套件,讓你的Ubuntu更像MAC。輸入「y」,按「Enter」鍵繼續。
步驟十三 「Please, press any other key if you want to restart later」(如果你想要重新開機,請輸入任何按鍵)。輸入「y」,按「Enter」鍵重新開機。
Macbuntu螢幕截圖
登入畫面↓
桌面↓
火狐(FireFox)↓
Google Chromium↓
移除Macbuntu
在Macbuntu的install.sh程序旁邊,有個「uninstall.sh」,執行該反安裝程序即可移除Macbuntu。
訂閱:
文章 (Atom)