Search Results

Search found 10812 results on 433 pages for 'boot partition'.

Page 11/433 | < Previous Page | 7 8 9 10 11 12 13 14 15 16 17 18  | Next Page >

  • grub workaround for cannot find UUID in dual boot system fails and now grub won't boot anything

    - by keepitsimpleengineer
    New clean install of x86 11.10 desktop. Dual boot with windows XP and Linux on separate drives. After install grub will not boot Windows, but by changing boot drive boots fine. When I go to fix this I find from http://bootinfoscript.sourceforge.net/ and a link to http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:search my problem, the message on the grub boot error screen: error: no such device: 6??????? So I follow the Step2 and compare the output of: sudo blkid and sudo nano /boot/grub/grub.cfg The UUIDs in both match for the Windows drive, so I do the fix in Step 4 "remove the search lines for …" in /usr/lib/grub/grub-mkconfig_lib, commenting out the three lines as before? # if fs_uuid="`${grub_probe} --device ${device} --target=fs_uuid 2> /dev/null`" ; then # echo "search --no-floppy --fs-uuid --set ${fs_uuid}" # fi I run sudo update-grub and check /etc/default/grub.cfg and see that it now identifies the Windows partition not by UUID, which I suppose is the workaround. But now when I try to boot 11.10 Desktop, I get: error: no such partition… … and when I try to boot Windows, I get: error: invalid signature. So Now, how do I fix this… The boot problem and find a workaround that works?

    Read the article

  • No boot or grub file after using ls command

    - by Poke Moke
    I had xubuntu installed, i believe version 12.04 and then tried to dual boot with backbox. It worked from the flash drive but upon installing it onto the hard drive, I could no longer boot backbox. I decided I would just clear my OS and put just backbox on the hard drive and only have a single boot. To do this, I erased my boot file completely which led to my current position. I am put into the grub rescue prompt. I can't do a system restore, I can't boot with anything I might try including puppy linux and a boot rescue, and I've looked up the commands and I've tried to fix this. I can do ls, I find the correct hd but then I'm stuck as I don't have a boot or grub folder. The command is typed as: ls (hd1,msdos1)/ and listed is ./ ../ lost+found/ etc/ media/ bin/ dev/ home/ lib/ mnt/ opt/ proc/ root/ run/ sbin/ selinux/ srv/ sys/ tmp/ usr/ var/ initrd.img vmlinuz cdrom/ apfolder initrd.img.old vmlinuz.old (not sure if it's initrd or init rd.img. as it wraps around the screen there.) I've seen commands regarding boot or grub if they are seen but as listed, they aren't there. Any ideas?

    Read the article

  • cannot boot Ubuntu after fresh install

    - by Jonathan
    I just installed Ubuntu on a Lenovo v570, and cannot boot into the system. All I get is a loop, where some (bios) info is displayed, and then the computer asks me where I would like to boot from. I tried reinstalling, reinstalling with a custom partition scheme, and boot -repair after the install. None of these work. I can see the files on my harddisk have been copied. I have installed many Ubuntus in the past, as well other distros where custom partitioning is required. I don't know where to find any useful information since I don't even get too the grub menu. One odd thing I noticed. The bios now had options to boot USB, OpenSuse,Fedora, or the HD. I am not dual booting. I also realized that the boot info is for a network boot, which means the computer is not recognizing what to boot. It is boot an HD problem, because I can install other OSs just fine. I am completely stumped. I would like to settle this, and end up with a tutorial, that explains to me what happened.

    Read the article

  • Improving Partitioned Table Join Performance

    - by Paul White
    The query optimizer does not always choose an optimal strategy when joining partitioned tables. This post looks at an example, showing how a manual rewrite of the query can almost double performance, while reducing the memory grant to almost nothing. Test Data The two tables in this example use a common partitioning partition scheme. The partition function uses 41 equal-size partitions: CREATE PARTITION FUNCTION PFT (integer) AS RANGE RIGHT FOR VALUES ( 125000, 250000, 375000, 500000, 625000, 750000, 875000, 1000000, 1125000, 1250000, 1375000, 1500000, 1625000, 1750000, 1875000, 2000000, 2125000, 2250000, 2375000, 2500000, 2625000, 2750000, 2875000, 3000000, 3125000, 3250000, 3375000, 3500000, 3625000, 3750000, 3875000, 4000000, 4125000, 4250000, 4375000, 4500000, 4625000, 4750000, 4875000, 5000000 ); GO CREATE PARTITION SCHEME PST AS PARTITION PFT ALL TO ([PRIMARY]); There two tables are: CREATE TABLE dbo.T1 ( TID integer NOT NULL IDENTITY(0,1), Column1 integer NOT NULL, Padding binary(100) NOT NULL DEFAULT 0x,   CONSTRAINT PK_T1 PRIMARY KEY CLUSTERED (TID) ON PST (TID) );   CREATE TABLE dbo.T2 ( TID integer NOT NULL, Column1 integer NOT NULL, Padding binary(100) NOT NULL DEFAULT 0x,   CONSTRAINT PK_T2 PRIMARY KEY CLUSTERED (TID, Column1) ON PST (TID) ); The next script loads 5 million rows into T1 with a pseudo-random value between 1 and 5 for Column1. The table is partitioned on the IDENTITY column TID: INSERT dbo.T1 WITH (TABLOCKX) (Column1) SELECT (ABS(CHECKSUM(NEWID())) % 5) + 1 FROM dbo.Numbers AS N WHERE n BETWEEN 1 AND 5000000; In case you don’t already have an auxiliary table of numbers lying around, here’s a script to create one with 10 million rows: CREATE TABLE dbo.Numbers (n bigint PRIMARY KEY);   WITH L0 AS(SELECT 1 AS c UNION ALL SELECT 1), L1 AS(SELECT 1 AS c FROM L0 AS A CROSS JOIN L0 AS B), L2 AS(SELECT 1 AS c FROM L1 AS A CROSS JOIN L1 AS B), L3 AS(SELECT 1 AS c FROM L2 AS A CROSS JOIN L2 AS B), L4 AS(SELECT 1 AS c FROM L3 AS A CROSS JOIN L3 AS B), L5 AS(SELECT 1 AS c FROM L4 AS A CROSS JOIN L4 AS B), Nums AS(SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS n FROM L5) INSERT dbo.Numbers WITH (TABLOCKX) SELECT TOP (10000000) n FROM Nums ORDER BY n OPTION (MAXDOP 1); Table T1 contains data like this: Next we load data into table T2. The relationship between the two tables is that table 2 contains ‘n’ rows for each row in table 1, where ‘n’ is determined by the value in Column1 of table T1. There is nothing particularly special about the data or distribution, by the way. INSERT dbo.T2 WITH (TABLOCKX) (TID, Column1) SELECT T.TID, N.n FROM dbo.T1 AS T JOIN dbo.Numbers AS N ON N.n >= 1 AND N.n <= T.Column1; Table T2 ends up containing about 15 million rows: The primary key for table T2 is a combination of TID and Column1. The data is partitioned according to the value in column TID alone. Partition Distribution The following query shows the number of rows in each partition of table T1: SELECT PartitionID = CA1.P, NumRows = COUNT_BIG(*) FROM dbo.T1 AS T CROSS APPLY (VALUES ($PARTITION.PFT(TID))) AS CA1 (P) GROUP BY CA1.P ORDER BY CA1.P; There are 40 partitions containing 125,000 rows (40 * 125k = 5m rows). The rightmost partition remains empty. The next query shows the distribution for table 2: SELECT PartitionID = CA1.P, NumRows = COUNT_BIG(*) FROM dbo.T2 AS T CROSS APPLY (VALUES ($PARTITION.PFT(TID))) AS CA1 (P) GROUP BY CA1.P ORDER BY CA1.P; There are roughly 375,000 rows in each partition (the rightmost partition is also empty): Ok, that’s the test data done. Test Query and Execution Plan The task is to count the rows resulting from joining tables 1 and 2 on the TID column: SET STATISTICS IO ON; DECLARE @s datetime2 = SYSUTCDATETIME();   SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID;   SELECT DATEDIFF(Millisecond, @s, SYSUTCDATETIME()); SET STATISTICS IO OFF; The optimizer chooses a plan using parallel hash join, and partial aggregation: The Plan Explorer plan tree view shows accurate cardinality estimates and an even distribution of rows across threads (click to enlarge the image): With a warm data cache, the STATISTICS IO output shows that no physical I/O was needed, and all 41 partitions were touched: Running the query without actual execution plan or STATISTICS IO information for maximum performance, the query returns in around 2600ms. Execution Plan Analysis The first step toward improving on the execution plan produced by the query optimizer is to understand how it works, at least in outline. The two parallel Clustered Index Scans use multiple threads to read rows from tables T1 and T2. Parallel scan uses a demand-based scheme where threads are given page(s) to scan from the table as needed. This arrangement has certain important advantages, but does result in an unpredictable distribution of rows amongst threads. The point is that multiple threads cooperate to scan the whole table, but it is impossible to predict which rows end up on which threads. For correct results from the parallel hash join, the execution plan has to ensure that rows from T1 and T2 that might join are processed on the same thread. For example, if a row from T1 with join key value ‘1234’ is placed in thread 5’s hash table, the execution plan must guarantee that any rows from T2 that also have join key value ‘1234’ probe thread 5’s hash table for matches. The way this guarantee is enforced in this parallel hash join plan is by repartitioning rows to threads after each parallel scan. The two repartitioning exchanges route rows to threads using a hash function over the hash join keys. The two repartitioning exchanges use the same hash function so rows from T1 and T2 with the same join key must end up on the same hash join thread. Expensive Exchanges This business of repartitioning rows between threads can be very expensive, especially if a large number of rows is involved. The execution plan selected by the optimizer moves 5 million rows through one repartitioning exchange and around 15 million across the other. As a first step toward removing these exchanges, consider the execution plan selected by the optimizer if we join just one partition from each table, disallowing parallelism: SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = 1 AND $PARTITION.PFT(T2.TID) = 1 OPTION (MAXDOP 1); The optimizer has chosen a (one-to-many) merge join instead of a hash join. The single-partition query completes in around 100ms. If everything scaled linearly, we would expect that extending this strategy to all 40 populated partitions would result in an execution time around 4000ms. Using parallelism could reduce that further, perhaps to be competitive with the parallel hash join chosen by the optimizer. This raises a question. If the most efficient way to join one partition from each of the tables is to use a merge join, why does the optimizer not choose a merge join for the full query? Forcing a Merge Join Let’s force the optimizer to use a merge join on the test query using a hint: SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID OPTION (MERGE JOIN); This is the execution plan selected by the optimizer: This plan results in the same number of logical reads reported previously, but instead of 2600ms the query takes 5000ms. The natural explanation for this drop in performance is that the merge join plan is only using a single thread, whereas the parallel hash join plan could use multiple threads. Parallel Merge Join We can get a parallel merge join plan using the same query hint as before, and adding trace flag 8649: SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID OPTION (MERGE JOIN, QUERYTRACEON 8649); The execution plan is: This looks promising. It uses a similar strategy to distribute work across threads as seen for the parallel hash join. In practice though, performance is disappointing. On a typical run, the parallel merge plan runs for around 8400ms; slower than the single-threaded merge join plan (5000ms) and much worse than the 2600ms for the parallel hash join. We seem to be going backwards! The logical reads for the parallel merge are still exactly the same as before, with no physical IOs. The cardinality estimates and thread distribution are also still very good (click to enlarge): A big clue to the reason for the poor performance is shown in the wait statistics (captured by Plan Explorer Pro): CXPACKET waits require careful interpretation, and are most often benign, but in this case excessive waiting occurs at the repartitioning exchanges. Unlike the parallel hash join, the repartitioning exchanges in this plan are order-preserving ‘merging’ exchanges (because merge join requires ordered inputs): Parallelism works best when threads can just grab any available unit of work and get on with processing it. Preserving order introduces inter-thread dependencies that can easily lead to significant waits occurring. In extreme cases, these dependencies can result in an intra-query deadlock, though the details of that will have to wait for another time to explore in detail. The potential for waits and deadlocks leads the query optimizer to cost parallel merge join relatively highly, especially as the degree of parallelism (DOP) increases. This high costing resulted in the optimizer choosing a serial merge join rather than parallel in this case. The test results certainly confirm its reasoning. Collocated Joins In SQL Server 2008 and later, the optimizer has another available strategy when joining tables that share a common partition scheme. This strategy is a collocated join, also known as as a per-partition join. It can be applied in both serial and parallel execution plans, though it is limited to 2-way joins in the current optimizer. Whether the optimizer chooses a collocated join or not depends on cost estimation. The primary benefits of a collocated join are that it eliminates an exchange and requires less memory, as we will see next. Costing and Plan Selection The query optimizer did consider a collocated join for our original query, but it was rejected on cost grounds. The parallel hash join with repartitioning exchanges appeared to be a cheaper option. There is no query hint to force a collocated join, so we have to mess with the costing framework to produce one for our test query. Pretending that IOs cost 50 times more than usual is enough to convince the optimizer to use collocated join with our test query: -- Pretend IOs are 50x cost temporarily DBCC SETIOWEIGHT(50);   -- Co-located hash join SELECT COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID OPTION (RECOMPILE);   -- Reset IO costing DBCC SETIOWEIGHT(1); Collocated Join Plan The estimated execution plan for the collocated join is: The Constant Scan contains one row for each partition of the shared partitioning scheme, from 1 to 41. The hash repartitioning exchanges seen previously are replaced by a single Distribute Streams exchange using Demand partitioning. Demand partitioning means that the next partition id is given to the next parallel thread that asks for one. My test machine has eight logical processors, and all are available for SQL Server to use. As a result, there are eight threads in the single parallel branch in this plan, each processing one partition from each table at a time. Once a thread finishes processing a partition, it grabs a new partition number from the Distribute Streams exchange…and so on until all partitions have been processed. It is important to understand that the parallel scans in this plan are different from the parallel hash join plan. Although the scans have the same parallelism icon, tables T1 and T2 are not being co-operatively scanned by multiple threads in the same way. Each thread reads a single partition of T1 and performs a hash match join with the same partition from table T2. The properties of the two Clustered Index Scans show a Seek Predicate (unusual for a scan!) limiting the rows to a single partition: The crucial point is that the join between T1 and T2 is on TID, and TID is the partitioning column for both tables. A thread that processes partition ‘n’ is guaranteed to see all rows that can possibly join on TID for that partition. In addition, no other thread will see rows from that partition, so this removes the need for repartitioning exchanges. CPU and Memory Efficiency Improvements The collocated join has removed two expensive repartitioning exchanges and added a single exchange processing 41 rows (one for each partition id). Remember, the parallel hash join plan exchanges had to process 5 million and 15 million rows. The amount of processor time spent on exchanges will be much lower in the collocated join plan. In addition, the collocated join plan has a maximum of 8 threads processing single partitions at any one time. The 41 partitions will all be processed eventually, but a new partition is not started until a thread asks for it. Threads can reuse hash table memory for the new partition. The parallel hash join plan also had 8 hash tables, but with all 5,000,000 build rows loaded at the same time. The collocated plan needs memory for only 8 * 125,000 = 1,000,000 rows at any one time. Collocated Hash Join Performance The collated join plan has disappointing performance in this case. The query runs for around 25,300ms despite the same IO statistics as usual. This is much the worst result so far, so what went wrong? It turns out that cardinality estimation for the single partition scans of table T1 is slightly low. The properties of the Clustered Index Scan of T1 (graphic immediately above) show the estimation was for 121,951 rows. This is a small shortfall compared with the 125,000 rows actually encountered, but it was enough to cause the hash join to spill to physical tempdb: A level 1 spill doesn’t sound too bad, until you realize that the spill to tempdb probably occurs for each of the 41 partitions. As a side note, the cardinality estimation error is a little surprising because the system tables accurately show there are 125,000 rows in every partition of T1. Unfortunately, the optimizer uses regular column and index statistics to derive cardinality estimates here rather than system table information (e.g. sys.partitions). Collocated Merge Join We will never know how well the collocated parallel hash join plan might have worked without the cardinality estimation error (and the resulting 41 spills to tempdb) but we do know: Merge join does not require a memory grant; and Merge join was the optimizer’s preferred join option for a single partition join Putting this all together, what we would really like to see is the same collocated join strategy, but using merge join instead of hash join. Unfortunately, the current query optimizer cannot produce a collocated merge join; it only knows how to do collocated hash join. So where does this leave us? CROSS APPLY sys.partitions We can try to write our own collocated join query. We can use sys.partitions to find the partition numbers, and CROSS APPLY to get a count per partition, with a final step to sum the partial counts. The following query implements this idea: SELECT row_count = SUM(Subtotals.cnt) FROM ( -- Partition numbers SELECT p.partition_number FROM sys.partitions AS p WHERE p.[object_id] = OBJECT_ID(N'T1', N'U') AND p.index_id = 1 ) AS P CROSS APPLY ( -- Count per collocated join SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals; The estimated plan is: The cardinality estimates aren’t all that good here, especially the estimate for the scan of the system table underlying the sys.partitions view. Nevertheless, the plan shape is heading toward where we would like to be. Each partition number from the system table results in a per-partition scan of T1 and T2, a one-to-many Merge Join, and a Stream Aggregate to compute the partial counts. The final Stream Aggregate just sums the partial counts. Execution time for this query is around 3,500ms, with the same IO statistics as always. This compares favourably with 5,000ms for the serial plan produced by the optimizer with the OPTION (MERGE JOIN) hint. This is another case of the sum of the parts being less than the whole – summing 41 partial counts from 41 single-partition merge joins is faster than a single merge join and count over all partitions. Even so, this single-threaded collocated merge join is not as quick as the original parallel hash join plan, which executed in 2,600ms. On the positive side, our collocated merge join uses only one logical processor and requires no memory grant. The parallel hash join plan used 16 threads and reserved 569 MB of memory:   Using a Temporary Table Our collocated merge join plan should benefit from parallelism. The reason parallelism is not being used is that the query references a system table. We can work around that by writing the partition numbers to a temporary table (or table variable): SET STATISTICS IO ON; DECLARE @s datetime2 = SYSUTCDATETIME();   CREATE TABLE #P ( partition_number integer PRIMARY KEY);   INSERT #P (partition_number) SELECT p.partition_number FROM sys.partitions AS p WHERE p.[object_id] = OBJECT_ID(N'T1', N'U') AND p.index_id = 1;   SELECT row_count = SUM(Subtotals.cnt) FROM #P AS p CROSS APPLY ( SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals;   DROP TABLE #P;   SELECT DATEDIFF(Millisecond, @s, SYSUTCDATETIME()); SET STATISTICS IO OFF; Using the temporary table adds a few logical reads, but the overall execution time is still around 3500ms, indistinguishable from the same query without the temporary table. The problem is that the query optimizer still doesn’t choose a parallel plan for this query, though the removal of the system table reference means that it could if it chose to: In fact the optimizer did enter the parallel plan phase of query optimization (running search 1 for a second time): Unfortunately, the parallel plan found seemed to be more expensive than the serial plan. This is a crazy result, caused by the optimizer’s cost model not reducing operator CPU costs on the inner side of a nested loops join. Don’t get me started on that, we’ll be here all night. In this plan, everything expensive happens on the inner side of a nested loops join. Without a CPU cost reduction to compensate for the added cost of exchange operators, candidate parallel plans always look more expensive to the optimizer than the equivalent serial plan. Parallel Collocated Merge Join We can produce the desired parallel plan using trace flag 8649 again: SELECT row_count = SUM(Subtotals.cnt) FROM #P AS p CROSS APPLY ( SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals OPTION (QUERYTRACEON 8649); The actual execution plan is: One difference between this plan and the collocated hash join plan is that a Repartition Streams exchange operator is used instead of Distribute Streams. The effect is similar, though not quite identical. The Repartition uses round-robin partitioning, meaning the next partition id is pushed to the next thread in sequence. The Distribute Streams exchange seen earlier used Demand partitioning, meaning the next partition id is pulled across the exchange by the next thread that is ready for more work. There are subtle performance implications for each partitioning option, but going into that would again take us too far off the main point of this post. Performance The important thing is the performance of this parallel collocated merge join – just 1350ms on a typical run. The list below shows all the alternatives from this post (all timings include creation, population, and deletion of the temporary table where appropriate) from quickest to slowest: Collocated parallel merge join: 1350ms Parallel hash join: 2600ms Collocated serial merge join: 3500ms Serial merge join: 5000ms Parallel merge join: 8400ms Collated parallel hash join: 25,300ms (hash spill per partition) The parallel collocated merge join requires no memory grant (aside from a paltry 1.2MB used for exchange buffers). This plan uses 16 threads at DOP 8; but 8 of those are (rather pointlessly) allocated to the parallel scan of the temporary table. These are minor concerns, but it turns out there is a way to address them if it bothers you. Parallel Collocated Merge Join with Demand Partitioning This final tweak replaces the temporary table with a hard-coded list of partition ids (dynamic SQL could be used to generate this query from sys.partitions): SELECT row_count = SUM(Subtotals.cnt) FROM ( VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10), (11),(12),(13),(14),(15),(16),(17),(18),(19),(20), (21),(22),(23),(24),(25),(26),(27),(28),(29),(30), (31),(32),(33),(34),(35),(36),(37),(38),(39),(40),(41) ) AS P (partition_number) CROSS APPLY ( SELECT cnt = COUNT_BIG(*) FROM dbo.T1 AS T1 JOIN dbo.T2 AS T2 ON T2.TID = T1.TID WHERE $PARTITION.PFT(T1.TID) = p.partition_number AND $PARTITION.PFT(T2.TID) = p.partition_number ) AS SubTotals OPTION (QUERYTRACEON 8649); The actual execution plan is: The parallel collocated hash join plan is reproduced below for comparison: The manual rewrite has another advantage that has not been mentioned so far: the partial counts (per partition) can be computed earlier than the partial counts (per thread) in the optimizer’s collocated join plan. The earlier aggregation is performed by the extra Stream Aggregate under the nested loops join. The performance of the parallel collocated merge join is unchanged at around 1350ms. Final Words It is a shame that the current query optimizer does not consider a collocated merge join (Connect item closed as Won’t Fix). The example used in this post showed an improvement in execution time from 2600ms to 1350ms using a modestly-sized data set and limited parallelism. In addition, the memory requirement for the query was almost completely eliminated  – down from 569MB to 1.2MB. The problem with the parallel hash join selected by the optimizer is that it attempts to process the full data set all at once (albeit using eight threads). It requires a large memory grant to hold all 5 million rows from table T1 across the eight hash tables, and does not take advantage of the divide-and-conquer opportunity offered by the common partitioning. The great thing about the collocated join strategies is that each parallel thread works on a single partition from both tables, reading rows, performing the join, and computing a per-partition subtotal, before moving on to a new partition. From a thread’s point of view… If you have trouble visualizing what is happening from just looking at the parallel collocated merge join execution plan, let’s look at it again, but from the point of view of just one thread operating between the two Parallelism (exchange) operators. Our thread picks up a single partition id from the Distribute Streams exchange, and starts a merge join using ordered rows from partition 1 of table T1 and partition 1 of table T2. By definition, this is all happening on a single thread. As rows join, they are added to a (per-partition) count in the Stream Aggregate immediately above the Merge Join. Eventually, either T1 (partition 1) or T2 (partition 1) runs out of rows and the merge join stops. The per-partition count from the aggregate passes on through the Nested Loops join to another Stream Aggregate, which is maintaining a per-thread subtotal. Our same thread now picks up a new partition id from the exchange (say it gets id 9 this time). The count in the per-partition aggregate is reset to zero, and the processing of partition 9 of both tables proceeds just as it did for partition 1, and on the same thread. Each thread picks up a single partition id and processes all the data for that partition, completely independently from other threads working on other partitions. One thread might eventually process partitions (1, 9, 17, 25, 33, 41) while another is concurrently processing partitions (2, 10, 18, 26, 34) and so on for the other six threads at DOP 8. The point is that all 8 threads can execute independently and concurrently, continuing to process new partitions until the wider job (of which the thread has no knowledge!) is done. This divide-and-conquer technique can be much more efficient than simply splitting the entire workload across eight threads all at once. Related Reading Understanding and Using Parallelism in SQL Server Parallel Execution Plans Suck © 2013 Paul White – All Rights Reserved Twitter: @SQL_Kiwi

    Read the article

  • Formatted a Bootcamped drive as a dynamic disk, now can't boot to either Mac or Windows

    - by Steven H
    I was trying to create an extra partition to get a file from the Windows side of my Macbook Air to the Mac side, and I accidentally made the disk dynamic without realizing it. I am now unable to boot to the Mac side (holding Alt to go into the system manager at startup doesn't even list the Mac partition), and the Windows side blue screens during boot (goes so quickly that it doesn't even get to the error code before restarting). What can I do to fix the issue? I don't know how to make a bootable flash drive that a Mac will recognize, and Disk Utility (via Internet Recovery) couldn't do anything. (cross-posted from apple.stackexchange)

    Read the article

  • windows system (bootloader) partition accidently deleted during multiple installs

    - by S.Y.T.
    After experimenting with multiple variations of backtrack and xbmcbuntu variations of Ubuntu with dual boot successfully, my windows partition became unrecognizable to grub. I used my windows boot CD to try to correct the problem. However, I deleted all partitions except for the NFTS one that contains my old windows install. (And, merged all other ones into that in hopes of getting back to the windows boot loader and out of grub) Now, all I get is a grub command prompt when I try and boot the system (how??? - I thought I deleted grub) And, now the windows boot disc doesn't even recognize the install. I've tried TRK to try and resolve the problem. Though I must admit ignorance in correctly using this utility. I've searched for other answers to this problem. Any help would be much appreciated. S.Y.

    Read the article

  • Merging /boot and rearranging grub2 entries

    - by Tobias Kienzler
    I have used 10.10 and now for testing purposes installed 10.04 to a separate partition. 10.10 is currently on a single partition, while for 10.04 I decided to separate /boot to a third partition. Now my questions: How can I move and merge 10.10's /boot on the new /boot partition What do I have to modify to rearrange the (automatic) entries? How can I have the entries contain the distribution name to reduce confusion? How can I make sure the grub configuration stays identical when either distribution updates?

    Read the article

  • Merging /boot and rearring grub2 entries

    - by Tobias Kienzler
    I have used 10.10 and now for testing purposes installed 10.04 to a separate partition. 10.10 is currently on a single partition, while for 10.04 I decided to separate /boot to a third partition. Now my questions: How can I move and merge 10.10's /boot on the new /boot partition What do I have to modify to rearrange the (automatic) entries? How can I have the entries contain the distribution name to reduce confusion? How can I make sure the grub configuration stays identical?

    Read the article

  • Messed up partitions... system will not boot!

    - by someguy
    I did a really dumb thing. cfdisk threw an error at me saying "FATAL ERROR: Bad primary partition 3: Partition ends in the final partial cylinder", so I installed Partition Table Doctor to see if I could fix the problem. When the program started up, it told me there were problems with my partitions, and asked if I wanted them fixed (cannot remember real message, but I believe it had something to do with the cylinder boundaries), so, blindly, without thinking of the consequences, I did. Now, my system will not boot. I tried booting from the Windows 7 installation CD. I went to install a fresh copy, but it said that "No drives were found". I then opened up diskpart. According to diskpart, there is only one partition, containing one volume, assigned the letter "C". Before, I had four partitions! It is also saying that the file system is RAW. Is there any way I can fix this? I have important data that I do not want to lose. Later on... I tried fdisk with the option -l, which lists the partition table(s), and this is what I got: Ignoring extra extended partition 4 Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 64 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x163df116 Device Boot Start End Blocks Id System /dev/sda1 6 18 102400 7 HPFS/NTFS Partition 1 does not end on cylinder boundary. /dev/sda2 18 7851 62918572+ 7 HPFS/NTFS /dev/sda3 13073 30402 139196416 f W95 Ext'd (LBA) /dev/sda3 13073 30402 139196416 f W95 Ext'd (LBA) /dev/sda3 13073 30403 139203193 7 HPFS/NTFS I don't know if this will help, but it's extra information, at least. Also, this is how I had my partitions: 40MB (Unallocated) 100MB (System Reserved) 60GB (Windows, C:) 40GB (Was reserved for secondary OS) ~132GB (Home, E:)

    Read the article

  • Strange windows boot problem - My computer won't boot from hard disk

    - by user29779
    Hello, Until yesterday, I had windows XP installed on my computer. After installing the OS, and setting the BIOS to boot from the hard-disk first, I discovered a strange problem - the OS wasn't booted and the only way I could get it to load was to insert a windows installation disk, enter repair mode, do "fixboot" and restart. The problem only occured when the computer was booted after shut-down. If I only restarted it, everything worked fine. Yesterday, I upgraded my XP to win7 and the problem persists. I tried the same "trick" I did with XP to get it to load, by entering repair and doing "bootrec /fixmbr" and "bootrec /fixboot" but that didn't work (and when I run "scanos" it didn't find any windows installations). Eventually, I got it to load by changing the settings in the BIOS to boot from CD first and HD second, removing the installation disk from the drive, letting it fail to boot from CD and then re-insert the disk. Anyone has any idea what may be the cause or how can I investigate this issue? Thanks! Marina

    Read the article

  • A glitch after Ubuntu Installation. Cannot boot Ubuntu

    - by Starx
    I am trying to create a dual boot of Ubuntu 10.10 with Windows 7. My hard disk allocation were as follows: Windows 7 NTFS 100 GB /boot EXT4 200 MB SWAP LINUX SWAP 4 GB / EXT4 46 GB After installation is complete, instead of getting the boot screen of Ubuntu, it directly boots from windows 7 without asking anything. What is wrong? I run the Live Cd again using USB drive and I see that the \boot, and \ are occupied with most likely Ubuntu data. Now How do i point my Laptop to point to Ubuntu Boot instead of Windows Boot

    Read the article

  • USB3 boot device disappears post-grub

    - by JoBu1324
    I have an installation of Ubuntu 12.10 on a USB3 device, and it occasionally disappears during boot, dropping me into busybox. This is what I've been able to figure out so far: During a single boot, the following happened: At the grub2 menu, I typed c and dropped to the grub> prompt I typed ls -l and got a list of all the devices, including partitions and UUIDs - the USB3 partitions were available I escaped back to the boot select menu, selected the default item (ubuntu) and hit enter The screen went black for a second before turning into the purple Ubuntu boot screen with the dots (which usually indicates that the boot will fail. When all is well I don't get the black screen) The boot dropped into BusyBox v1.19.3 with the message `ALERT! /dev/disk/by-uuid/[uuid] does not exist blkid displays all of the partitions except those of the USB3 device, as does ls /dev/disk/by-uuid or any of the alternatives.

    Read the article

  • Unable to boot ubuntu 11.10 from external usb drive

    - by user45006
    I'm new to Ubuntu (and actually all things Linux) as of this morning, so please excuse any stupid mistakes I may be making. I recently bought an external hard drive for my newly built PC (that is running windows 7 if it matters). I would like to install Ubuntu onto the external drive and boot from there. I downloaded Ubuntu 11.10 and made a bootable cd, unplugged my internal HDDs, plugged in the external drive, installed Ubuntu 11.10 on the external drive via the installer, and replugged in my internal HDDs. Then I set my bios boot order to: Boot from USB-HDD - Boot from Hard Disk - Boot from CD/DVD. Now when I restart I get the message "Starting Operating System..." (or something like that, I forget exactly what it says) that lingers on the screen for a moment and then windows starts. Any idea what the problem may be? ~Relevant info~ BIOS version: Award Software International, Inc. F2, 2/22/2011 Ubuntu Version: 11.10 External Hard Drive: Western Digital My Passport Essential 500GB Portable Hard Drive (Black) ~Things I've already tried~ 1) Unplug internal HDDs so that only external drive was plugged in via usb. Same thing happened only obviously my BIOS could not detect any hard drives besides the external one. When booting received error "Could not detect operating system" 2) Formatted external hard drive and re installed. It didn't make a difference, however interestingly when I booted from cd the ubuntu installer said it detected ubuntu 11.10 on the external hard drive. 3) Within BIOS I've messed around with every boot order combo I could think of both in the "Hard Disk boot order" screen and the "Boot order" screen. I'm a little confused of why there are two screens for this. 4) Held F12 during startup which opens (what I think is) the one time boot screen and it gave me the options "Hard Drive", "cd/dvd", "USB-FDD", "USB-cdrom", "USB-HDD", and "USB-something else I can't remember what it was". I tried all of them, but the same thing as before happened each time. ~References~ I noticed several people on askubuntu have tried to do something similar if not the exact same. In fact, I even found a post that pretty much outlines step by step exactly what I did... only their's worked. /jealous. Linky: Install Ubuntu or Kubuntu on a External USB Drive I'm willing to try a different version of ubuntu - it's not like my heart is set on 11.10, but it's a pain to open my case and unplug my internal hard drives so I'd prefer not to do this unless someone is reasonably confident it'll work. Thank you for all of your help in advance! I'm really looking forward to exploring Ubuntu!

    Read the article

  • No boot record when installing 13.04 from USB on WinXP

    - by Phil Leslie
    I'm replacing WinXP with 13.04 on an older PC using wubi.exe on a USB stick. I had no problem changing the BIOS on another system that was a bit newer but when I change the settings on the older PC to boot from USB, I get a DOS message saying "Searching for boot record...Not found" & asked to try again. I don't have the ability to boot from a live CD so is there a reason why I can boot from a USB on a newer computer but can't from an older one? Both have options to choose to boot from USB, but the older one can find no boot record. The system was built on 12/13/01 by American Megatrends. Since I don't have enough "reputation points" to post the screen shot image, you can see it at http://img.photobucket.com/albums/v633/boonevillephil/1029131748-00.jpg.

    Read the article

  • What location to put bootloader, when running multiple drives and partition

    - by Matt G
    I have Win8 on my desktop, where a 120G SSD is used to run windows and some select applications, while I have a 2TB HDD to provide basic file storage and where possible, install applications instead of on the SSD. I want to install Ubuntu on a new partition of the HDD (I allocated 300GB, with 5GB swap file). I've used a USB to install the OS, which seemed to have done the job. However, after prompting for a restart, I can no longer boot to ubuntu. During instillation I was confused about where to install the "boot loader instillation". I ended up selecting "/dev/stb" because I figured I would be able to boot with BIOS by selecting the HDD drive as a priority over the SSD. The bootloader is a large part of where I think I went wrong. My partition system looked something like this: /dev/sta ... //SSD ~120 GB /dev/sta1 NTFS (350 MB) //Win8System /dev/sta2 NTFS (118 GB) //Win8C-Drive /dev/stb ... //HDD ~2TB /dev/stb1 NTFS (1563 GB) //FileStorage /dev/stb5 Free Space (300 GB) //Space I want to use for Linux (NOTE: Created two partitions from the 300GB, ~5GB and 295GB. stb5,stb6.) It'd be great if I could get an explanation of what drive you'd select for the boot loader and why, and what selections won't work with regards to the Boot Loader Instillation. I think I understand what Grub is, but I have no idea on how to use it, or play around with it. I seem to be able to get back into OS from my usb, however I believe it's just showing me a preview/trial of Ubuntu (ie, can't access any of the system NTFS drives). Note, if I try to install from the USB again, it will recognize that a version of Ubuntu 13.10 exists on the system. Apologies in advance, have used windows all my life, don't really know to much about Linux at all. Did have a brief skim over some similar questions, didn't find anything too useful. - Where to install bootloader when installing Ubuntu as secondary OS? - ubuntu 12.10 dual boot with windows 8 on two hdds - Dual-boot Windows 7 and Ubuntu on two SSDs with UEFI

    Read the article

  • Strange resizing of partition after reinstalling Ubuntu 14.04 64bit

    - by Mike
    I started with Windows 7 on 120GB SSD and Ubuntu 14.04 32bit installed on 60GB partition on separate 1TB HDD. I just did a fresh reinstall of 14.04 64bit on the 1TB HDD. In the installation set up process, I selected the second choice of "deleting Ubuntu 14.04 and all it's files,documents, photos etc and reinstalling" to what I figured would reinstall the 64bit OS on the already existing 60GB allocated partition. Instead, it reinstalled Ubuntu as 43.5 GB and created a separate 15.8 partition. So now it reads that my disk space for Ubuntu ( in settingsdetails) is 43.5GB (instead of the previous 60GB that my old 32bit had) The upside is I can now access my 1TB HDD from my toolbar(and all the files located on it) Before, I could only access that through Windows (I can also access the SSD too, but that was always the case) Both drives are mounted now. My initial reaction was to go into Windows 7 disk management delete the strange/new 15gb partitionextend the 43.5 to the unallocated space. But I'm not sure if this is necessary or would even work. My question is why did it create a 15gb partition shrinking my ubuntu disk space, and is it useful? I don't want wasted space, so before I go through all my set up of Ubuntu, should I change this. At this time my HDD reads as 43.5 partiton, 15.8 partition, and 874GB exfat32 (939GB total)

    Read the article

  • Partition Alignment Confusion

    - by user170757
    I have a new Samsung 840 250GB SSD on the way, and I want to make sure that everything is running optimally after install. I've spent many frustrating hours on the internet trying to understand how I should align the partitions of the SSD when it arrives (and even how to partition everything; my other drive is a 1TB HDD with files already on it). I'd like to know a foolproof way of setting everything up. Now, the only place I could find the erase block size of the 840 is here: http://thessdreview.com/Forums/ssd-beginners-guide-discussion/3630.htm I simply can't understand why such information isn't made freely accessible by manufacturers! But, anyway, this would suggest the EBS is 1536kb, which seems odd to me. It is to my understanding that you should now align by MiB (usually set at 1MiB). I assume that the figure above should actually be 1536k B=1.5MiB? This seems to suggest the partition alignment will be somewhat non-standard. So my question is: How do I align my partitions given this information? Please bear in mind that I have never used linux before; I'm doing my best to get everything set up so that I can begin to learn but am finding this process incredibly opaque and time consuming. If possible, a step by step guide through GParted would be great; at the moment I'm considering an NTFS partition ~20GB for Windows (playing games), an EXT4 ~20GB for ubuntu (for doing everything else) and a shared documents+games partition for everything else in NTFS file format. I'm not going to have any swap partition and use swap files instead.

    Read the article

  • Ubuntu 13.10 Installer freezes on partition recognition on Alienware M17x

    - by Mutewinter
    I'm trying to install Ubuntu 13.10 on an Alienware M17x, after bypassing the graphical problems with "nomodeset" (annoying!), I'm facing a rather different problem: I click on "Install Ubuntu", the guided installation progress reach the point where the partition, mount point etc. needs to be selected and...nothing. In the partition selection menu it sees only dev/sda, but in the window where the actual way the disk is partitioned should appear nothing shows, it's blank. I've tried to click on "change..." to try to force it to read something, but the installer simply quits. The button "change partition table" etcetera are greyed out (well, obviously, since no partition table has been read). What's that? The Alienware has Windows 7 and legacy BIOS (so no UEFI here). Anyone has an idea? Thanks for your time and help!

    Read the article

  • Librated error when creating partition table

    - by Marko
    I bought a Dell Inspiron 5521 laptop a few days ago that came with Ubuntu preinstalled. I haven't used Ubuntu yet, and I don't have any experience in using it. I wanted to install Windows 7 64-bit on my laptop alongside Ubuntu, and made two bootable USB drives with Gparted and Windows 7. There wasn't a suitable partition on my laptop in which I could install Windows 7. I've read the instructions for using Gparted to create or manage my hard drive. I inserted the USB, booted from BIOS, and followed the procedure in installing Gparted. Then I entered Gparted, and the following error occurred: Librated error when Creating partition table. It asked me to click on either OK or Cancel. Either way I had my hard disk shown to me in the user window, in partitions that were made by the manufacturer: Partition File sys Label Size Flags /dev/sda1 fat32 dellutility 300.00 Mib diag /dev/sda2 fat32 os 3.00 Gib lba /dev/sda3 ext4 912.46 Gib boot /dev/sda4 extended 15.75 Gib (had a subpart) /dev/sda5 linux-swap 15.75 Gib ...and a option to switch to dev/sdb that's unused and of capacity 3Gib. I've used the biggest partition 912.46 Gib, and tried to reduce its size, and clicked OK. Then when I tried to make a new partition, it said it can't make any more partitions, no more than a maximum of 5. I would like to keep Ubuntu and slowly learn, but I also need to use programs that work in Windows. Thank you for taking the time to answer my question.

    Read the article

  • Missing boot files in Windows 8

    - by Alex F. Sherman
    I had a partition with Windows 8 Release Preview, Windows' System Reserved partition and the empty space of the beginning of disk. I moved two partitions to the beginning of disk using Ubuntu Live CD and GParted. After that, the Windows Loader didn't boot and throw an error about missing files. I fixed it using the commands: bootsect /nt60 sys /force /mbr bootrec /rebuildbcd bootrec /fixboot bootrec /fixmbr When I used "Automatic repair" option from "Advanced boot" menu, it throw an error like: Windows can't fix your boot problems. For more information see file C:\Windows\System32\LogFiles\Srt\SrtTrail.txt In this file I found a description of the system repair actions and at the end of file: Boot status indicates that the OS booted successfully. Now, when I use the Advanced boot menu from Windows 8 (PC settings - General - Advanced startup) I receive an error: Restart your PC to try again. It looks like something didn't load correctly. Restarting might fix the problem. If this happens more than once, you might also be able to find help by searching online for the specific error code. Erorr code: 0x8007090. 0x80070490 is the error code ERROR_NOT_FOUND. What are the missing boot files and how can I restore them? List of files in System Reserved Partition: B:\bootmgr B:\BOOTNXT B:\Boot\BCD B:\Boot\BCD.LOG B:\Boot\BCD.LOG1 B:\Boot\BCD.LOG2 B:\Boot\BOOTSTAT.DAT B:\Boot\Fonts B:\Boot\memtest.exe B:\Boot\qps-ploc B:\Boot\Resources B:\Boot\Resources\bootres.dll and many *.mui and *.ttf files.

    Read the article

  • Linux DD command partition -to- partition

    - by Ben Jackson
    I just used the DD command to copy the contents of one partition over to another partition on another drive, like this: dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=noerror sda2 partition was 66GB and sdb2 was 250GB. I read that by doing this the extra space on the drive I am copying to will be wasted, is this true? I wasn't worried about loosing the extra space for the time being however, I just ran: sudo kill -USR1 (PID) to view the current status of DD and it has written over 66GB of data, will it continue to write data until it gets to 250GB? If so, is there a way to stop the process without corrupting it as waiting for it to write blank space seems like a waste of time.

    Read the article

  • Triple-Boot + 4 partition Limit

    - by dsimcha
    I just bought a new hard drive so that I could convert my XP-only machine into an XP-Ubuntu-Windows 7 triple boot machine. Since the drive is absurdly huge (1 TB) I wouldn't mind throwing ReactOS into the mix, too. I just found out that master boot records are limited to 4 entries, meaning 4 primary partitions. I had Windows XP set up on my old drive as a boot partition, a program files partition and a media partition. Since I really didn't want to install XP from scratch, I cloned this setup on my new drive. This leaves me one MBR partition entry for installing Windows 7, Ubuntu and ReactOS. I'd like to avoid having to install XP from scratch like the plague, partly because it's supposed to be a safety net in case things go wrong with my other OS's and because I've invested a lot of time getting it set up exactly the way I like it. Here are the options I've considered and why I don't like them: Install Windows 7 on my media partition. This would work, but I prefer to keep my media partition completely separate from any OS, so that I can reformat an OS partition without affecting my media partition at all. Use wubi or something to install Ubuntu in the same partition as something else. Again, this is brittle. Move all my media to a logical drive on an extended partition. Create another logical drive on this extended partition for Ubuntu. The problem here is that extended partitions are rather brittle--if you nuke one, it renders the rest useless. Just put the old drive back in my computer and run XP off it. Use the new one for the other OS's. The problem here is that the old drive is slower and uses extra power, generates extra heat, etc. Can anyone suggest any other possibilities that I may have overlooked?

    Read the article

  • Is it perfectly safe to install grub bootloader on regular partition?

    - by Flint
    One of the methods to do dual booting Windows with Linux OS is by installing grub boot loader onto Linux partition so you can retain Windows boot loader and let Windows handles the dual booting process. What's the odd that grub bootloader could partially overwrite the data at the beginning of the Linux partition and corrupt the file? Does grub actually check if there's a data at the beginning of the partition and move it to other location on the partition before writing its bootloader?

    Read the article

< Previous Page | 7 8 9 10 11 12 13 14 15 16 17 18  | Next Page >